diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-05-01 22:32:28 +0100 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-05-01 22:32:28 +0100 |
commit | 2f03a0bfaf10f3bba7c041d7d5189f764735d5fd (patch) | |
tree | 664c62c81c70a073dc4a79223bd9692517361d9a /desktop | |
parent | 82e2fc57d7ded7e917ae399ca99fa8953f137b2d (diff) | |
download | netsurf-2f03a0bfaf10f3bba7c041d7d5189f764735d5fd.tar.gz netsurf-2f03a0bfaf10f3bba7c041d7d5189f764735d5fd.tar.bz2 |
fix use after free on error path
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/tree_url_node.c | 8 |
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 */ |