summaryrefslogtreecommitdiff
path: root/desktop/tree_url_node.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-05-01 22:32:28 +0100
committerVincent Sanders <vince@netsurf-browser.org>2013-05-01 22:32:28 +0100
commit2f03a0bfaf10f3bba7c041d7d5189f764735d5fd (patch)
tree664c62c81c70a073dc4a79223bd9692517361d9a /desktop/tree_url_node.c
parent82e2fc57d7ded7e917ae399ca99fa8953f137b2d (diff)
downloadnetsurf-2f03a0bfaf10f3bba7c041d7d5189f764735d5fd.tar.gz
netsurf-2f03a0bfaf10f3bba7c041d7d5189f764735d5fd.tar.bz2
fix use after free on error path
Diffstat (limited to 'desktop/tree_url_node.c')
-rw-r--r--desktop/tree_url_node.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/desktop/tree_url_node.c b/desktop/tree_url_node.c
index f411dac64..76bc8a47c 100644
--- a/desktop/tree_url_node.c
+++ b/desktop/tree_url_node.c
@@ -565,12 +565,12 @@ static void tree_url_load_entry(dom_node *li, tree_url_load_ctx *ctx)
error = nsurl_create(url2, &url);
- free(url2);
-
if (error != NSERROR_OK) {
LOG(("Failed normalising '%s'", url2));
- warn_user("NoMemory", NULL);
+ free(url2);
+
+ warn_user(messages_get_errorcode(error), NULL);
free(title);
dom_node_unref(a);
@@ -578,6 +578,8 @@ static void tree_url_load_entry(dom_node *li, tree_url_load_ctx *ctx)
return;
}
+ free(url2);
+
data = urldb_get_url_data(url);
if (data == NULL) {
/* No entry in database, so add one */