From 3cc90f2f3022dd4b416c704e53b69a629fa6ff18 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Fri, 22 Feb 2013 23:08:39 +0000 Subject: Fix trying to free a load of stuff dereferenced from a NULL ptr. --- render/imagemap.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/render/imagemap.c b/render/imagemap.c index c41b86d0b..379d6583d 100644 --- a/render/imagemap.c +++ b/render/imagemap.c @@ -607,18 +607,20 @@ imagemap_addtolist(dom_node *n, nsurl *base_url, bad_out: ret = false; ok_free_map_out: - if (new_map->url != NULL) - nsurl_unref(new_map->url); - if (new_map->type == IMAGEMAP_POLY && - new_map->bounds.poly.ycoords != NULL) - free(new_map->bounds.poly.ycoords); - if (new_map->type == IMAGEMAP_POLY && - new_map->bounds.poly.xcoords != NULL) - free(new_map->bounds.poly.xcoords); - if (new_map->target != NULL) - free(new_map->target); - if (new_map != NULL) + if (new_map != NULL) { + if (new_map->url != NULL) + nsurl_unref(new_map->url); + if (new_map->type == IMAGEMAP_POLY && + new_map->bounds.poly.ycoords != NULL) + free(new_map->bounds.poly.ycoords); + if (new_map->type == IMAGEMAP_POLY && + new_map->bounds.poly.xcoords != NULL) + free(new_map->bounds.poly.xcoords); + if (new_map->target != NULL) + free(new_map->target); + free(new_map); + } ok_out: if (href != NULL) dom_string_unref(href); -- cgit v1.2.3