summaryrefslogtreecommitdiff
path: root/src/libwapcaplet.c
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2010-12-06 09:58:01 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2010-12-06 09:58:01 +0000
commite08c6f44ba5c12476288b4a0dc0c85bc0508c92e (patch)
tree185a0098379c94d8251fae728c524689c873c304 /src/libwapcaplet.c
parent5ab890d565600f0bd02bd6371c9e7773729f045a (diff)
downloadlibwapcaplet-e08c6f44ba5c12476288b4a0dc0c85bc0508c92e.tar.gz
libwapcaplet-e08c6f44ba5c12476288b4a0dc0c85bc0508c92e.tar.bz2
Ensure we cope with no chance to opportunistically initialise the hash before iteration. Also ensure that an OOM during initialise doesn't leave us at risk of doom later
svn path=/trunk/libwapcaplet/; revision=11018
Diffstat (limited to 'src/libwapcaplet.c')
-rw-r--r--src/libwapcaplet.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libwapcaplet.c b/src/libwapcaplet.c
index 5f7b402..3cac722 100644
--- a/src/libwapcaplet.c
+++ b/src/libwapcaplet.c
@@ -79,6 +79,7 @@ _lwc_initialise(void)
if (ctx->buckets == NULL) {
LWC_FREE(ctx);
+ ctx = NULL;
return lwc_error_oom;
}
@@ -323,7 +324,10 @@ lwc_iterate_strings(lwc_iteration_callback_fn cb, void *pw)
{
lwc_hash n;
lwc_string *str;
-
+
+ if (ctx == NULL)
+ return;
+
for (n = 0; n < ctx->bucketcount; ++n) {
for (str = ctx->buckets[n]; str != NULL; str = str->next)
cb(str, pw);