summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-05-01 22:15:24 +0100
committerVincent Sanders <vince@netsurf-browser.org>2013-05-01 22:15:24 +0100
commit82e2fc57d7ded7e917ae399ca99fa8953f137b2d (patch)
tree725ca12d60c1d39141469bd26785890cbfaea1f9
parent25e6563e6133c849814b621ce4c34a6419eace56 (diff)
downloadnetsurf-82e2fc57d7ded7e917ae399ca99fa8953f137b2d.tar.gz
netsurf-82e2fc57d7ded7e917ae399ca99fa8953f137b2d.tar.bz2
free memory on error path
-rw-r--r--content/llcache.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/content/llcache.c b/content/llcache.c
index 8996acadd..171ae15fc 100644
--- a/content/llcache.c
+++ b/content/llcache.c
@@ -539,8 +539,11 @@ static nserror llcache_fetch_parse_header(llcache_object *object,
/* extract ETag header */
free(object->cache.etag);
object->cache.etag = strdup(*value);
- if (object->cache.etag == NULL)
+ if (object->cache.etag == NULL) {
+ free(*name);
+ free(*value);
return NSERROR_NOMEM;
+ }
} else if (14 < len && strcasecmp(*name, "Last-Modified") == 0) {
/* extract Last-Modified header */
object->cache.last_modified = curl_getdate(*value, NULL);
@@ -613,8 +616,9 @@ static nserror llcache_fetch_process_header(llcache_object *object,
}
error = llcache_fetch_parse_header(object, data, len, &name, &value);
- if (error != NSERROR_OK)
+ if (error != NSERROR_OK) {
return error;
+ }
/* Append header data to the object's headers array */
temp = realloc(object->headers, (object->num_headers + 1) *