diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-12-06 09:58:01 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2010-12-06 09:58:01 +0000 |
commit | e08c6f44ba5c12476288b4a0dc0c85bc0508c92e (patch) | |
tree | 185a0098379c94d8251fae728c524689c873c304 /src/libwapcaplet.c | |
parent | 5ab890d565600f0bd02bd6371c9e7773729f045a (diff) | |
download | libwapcaplet-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.c | 6 |
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); |