From a14bb1748d3827e542fbff47488f67e0dfa3b15d Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Tue, 6 Mar 2012 21:33:46 +0000 Subject: Fix memory corruption I'd foolishly removed a check in the previous commit that was needed. refs can be < 0 for static resources. --- fitz/res_store.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fitz/res_store.c b/fitz/res_store.c index cc635052..df9c6e33 100644 --- a/fitz/res_store.c +++ b/fitz/res_store.c @@ -274,7 +274,8 @@ fz_store_item(fz_context *ctx, void *key, void *val_, unsigned int itemsize, fz_ } } /* Now we can never fail, bump the ref */ - val->refs++; + if (val->refs > 0) + val->refs++; /* Regardless of whether it's indexed, it goes into the linked list */ item->next = store->head; if (item->next) -- cgit v1.2.3