[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnurl] 118/151: curl: fix memory leak in OOM in etags logic
From: |
gnunet |
Subject: |
[gnurl] 118/151: curl: fix memory leak in OOM in etags logic |
Date: |
Fri, 20 Dec 2019 14:27:07 +0100 |
This is an automated email from the git hooks/post-receive script.
ng0 pushed a commit to branch master
in repository gnurl.
commit 70a654151515a3cd17b47884154b34a857e81db9
Author: Daniel Stenberg <address@hidden>
AuthorDate: Thu Dec 12 10:38:14 2019 +0100
curl: fix memory leak in OOM in etags logic
Detected by torture tests
Closes #4706
---
src/tool_operate.c | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/tool_operate.c b/src/tool_operate.c
index bbd7fa49d..d4f170e33 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -926,25 +926,25 @@ static CURLcode single_transfer(struct GlobalConfig
*global,
/* open file for reading: */
FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT);
if(!file) {
- warnf(
- config->global,
- "Failed to open %s\n", config->etag_compare_file);
-
+ errorf(config->global,
+ "Failed to open %s\n", config->etag_compare_file);
result = CURLE_READ_ERROR;
break;
}
if((PARAM_OK == file2string(&etag_from_file, file)) &&
- etag_from_file)
+ etag_from_file) {
header = aprintf("If-None-Match: \"%s\"", etag_from_file);
+ Curl_safefree(etag_from_file);
+ }
else
header = aprintf("If-None-Match: \"\"");
if(!header) {
- warnf(
- config->global,
- "Failed to allocate memory for custom etag header\n");
-
+ if(file)
+ fclose(file);
+ errorf(config->global,
+ "Failed to allocate memory for custom etag header\n");
result = CURLE_OUT_OF_MEMORY;
break;
}
@@ -953,7 +953,6 @@ static CURLcode single_transfer(struct GlobalConfig *global,
add2list(&config->headers, header);
Curl_safefree(header);
- Curl_safefree(etag_from_file);
if(file) {
fclose(file);
--
To stop receiving notification emails like this one, please contact
address@hidden.
- [gnurl] 103/151: winbuild: Define CARES_STATICLIB when WITH_CARES=static, (continued)
- [gnurl] 103/151: winbuild: Define CARES_STATICLIB when WITH_CARES=static, gnunet, 2019/12/20
- [gnurl] 90/151: test342: make it return a 304 as the tag matches, gnunet, 2019/12/20
- [gnurl] 99/151: azure: add a vanilla macos build, gnunet, 2019/12/20
- [gnurl] 105/151: tests: fix permissions of ssh keys in WSL, gnunet, 2019/12/20
- [gnurl] 102/151: conn: always set bits.close with connclose(), gnunet, 2019/12/20
- [gnurl] 116/151: curl: improved cleanup in upload error path, gnunet, 2019/12/20
- [gnurl] 108/151: azure: add libssh2 and cmake macos builds, gnunet, 2019/12/20
- [gnurl] 107/151: curl: use errorf() better, gnunet, 2019/12/20
- [gnurl] 114/151: travis: make torture use --shallow=40, gnunet, 2019/12/20
- [gnurl] 119/151: altsvc: make the save function ignore NULL filenames, gnunet, 2019/12/20
- [gnurl] 118/151: curl: fix memory leak in OOM in etags logic,
gnunet <=
- [gnurl] 123/151: unit1609: fix mem-leak in OOM, gnunet, 2019/12/20
- [gnurl] 125/151: cirrus: Drop the FreeBSD 10.4 build, gnunet, 2019/12/20
- [gnurl] 96/151: docs: fix some typos, gnunet, 2019/12/20
- [gnurl] 94/151: lib: fix some loose ends for recently added CURLSSLOPT_NO_PARTIALCHAIN, gnunet, 2019/12/20
- [gnurl] 89/151: CMake: add support for building with the NSS vtls backend, gnunet, 2019/12/20
- [gnurl] 101/151: cirrus: enable clang sanitizers on freebsd 13, gnunet, 2019/12/20
- [gnurl] 110/151: RELEASE-NOTES: synced, gnunet, 2019/12/20
- [gnurl] 112/151: conncache: CONNECT_ONLY connections assumed always in-use, gnunet, 2019/12/20
- [gnurl] 115/151: mailmap: fix Andrew Ishchuk, gnunet, 2019/12/20
- [gnurl] 113/151: runtests: introduce --shallow to reduce huge torture tests, gnunet, 2019/12/20