From 72b8a67660ca199b31d1e771e7cb5206697407b6 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Tue, 10 Feb 2009 18:35:56 +0000 Subject: Ensure URLs are normalized prior to fetching. Squash memory leaks. svn path=/trunk/netsurf/; revision=6411 --- css/css.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'css/css.c') diff --git a/css/css.c b/css/css.c index 26acc1aa0..fb401a0c2 100644 --- a/css/css.c +++ b/css/css.c @@ -878,16 +878,30 @@ void css_atimport(struct content *c, struct css_node *node) return; } + /* Make URL absolute */ res = url_join(url, c->url, &url1); if (res != URL_FUNC_OK) { free(url); return; } + /* Destroy raw url data */ + free(url); + + /* URL must be normalized */ + res = url_normalize(url1, &url); + if (res != URL_FUNC_OK) { + free(url1); + return; + } + + /* Destroy non-normalized data */ + free(url1); + /* start the fetch */ c->data.css.import_count++; i = c->data.css.import_count - 1; - c->data.css.import_content[i] = fetchcache(url1, + c->data.css.import_content[i] = fetchcache(url, css_atimport_callback, (intptr_t) c, i, c->width, c->height, true, 0, 0, false, false); if (c->data.css.import_content[i]) { -- cgit v1.2.3