summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2014-01-24 12:11:10 +0000
committerVincent Sanders <vince@netsurf-browser.org>2014-01-24 12:11:10 +0000
commitb7e372cf84e00b2231ecf84dc6a7c65c8d42f501 (patch)
tree22e93c332d4a45a0c3ac7782b66ee65f0a209c95 /render
parentb38dfd793966611c386e4a9c7f5772a16b5e88b8 (diff)
downloadnetsurf-b7e372cf84e00b2231ecf84dc6a7c65c8d42f501.tar.gz
netsurf-b7e372cf84e00b2231ecf84dc6a7c65c8d42f501.tar.bz2
ensure imagemap lists are freed on error paths (coverity 1109880)
Diffstat (limited to 'render')
-rw-r--r--render/imagemap.c6
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 */