diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2014-01-24 12:11:10 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2014-01-24 12:11:10 +0000 |
commit | b7e372cf84e00b2231ecf84dc6a7c65c8d42f501 (patch) | |
tree | 22e93c332d4a45a0c3ac7782b66ee65f0a209c95 /render/imagemap.c | |
parent | b38dfd793966611c386e4a9c7f5772a16b5e88b8 (diff) | |
download | netsurf-b7e372cf84e00b2231ecf84dc6a7c65c8d42f501.tar.gz netsurf-b7e372cf84e00b2231ecf84dc6a7c65c8d42f501.tar.bz2 |
ensure imagemap lists are freed on error paths (coverity 1109880)
Diffstat (limited to 'render/imagemap.c')
-rw-r--r-- | render/imagemap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/render/imagemap.c b/render/imagemap.c index 870db7e3a..cb853ce21 100644 --- a/render/imagemap.c +++ b/render/imagemap.c @@ -304,6 +304,10 @@ imagemap_extract(html_content *c) if (name != NULL) { struct mapentry *entry = NULL; if (imagemap_extract_map(node, c, &entry) == false) { + if (entry != NULL) { + imagemap_freelist(entry); + } + dom_string_unref(name); dom_node_unref(node); ret = NSERROR_NOMEM; /** @todo check this */ @@ -317,6 +321,8 @@ imagemap_extract(html_content *c) */ if ((entry != NULL) && (imagemap_add(c, name, entry) == false)) { + imagemap_freelist(entry); + dom_string_unref(name); dom_node_unref(node); ret = NSERROR_NOMEM; /** @todo check this */ |