From a0c30b512ff66fe18fdca0cd0eb240b60c95b42a Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Fri, 31 Mar 2017 14:18:02 +0100 Subject: Fix leaks of reaped object keys. --- source/fitz/image.c | 3 ++- source/fitz/store.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/fitz/image.c b/source/fitz/image.c index 0906d9ad..2ee1cfbb 100644 --- a/source/fitz/image.c +++ b/source/fitz/image.c @@ -42,7 +42,8 @@ fz_keep_image_store_key(fz_context *ctx, fz_image *image) void fz_drop_image_store_key(fz_context *ctx, fz_image *image) { - fz_drop_key_storable_key(ctx, &image->key_storable); + if (fz_drop_key_storable_key(ctx, &image->key_storable)) + fz_free(ctx, image); } static int diff --git a/source/fitz/store.c b/source/fitz/store.c index dcef6b86..2013af8c 100644 --- a/source/fitz/store.c +++ b/source/fitz/store.c @@ -238,7 +238,7 @@ void *fz_keep_key_storable_key(fz_context *ctx, const fz_key_storable *sc) return s; } -void fz_drop_key_storable_key(fz_context *ctx, const fz_key_storable *sc) +int fz_drop_key_storable_key(fz_context *ctx, const fz_key_storable *sc) { /* Explicitly drop const to allow us to use const * sanely throughout the code. */ @@ -264,6 +264,7 @@ void fz_drop_key_storable_key(fz_context *ctx, const fz_key_storable *sc) */ if (drop) s->storable.drop(ctx, &s->storable); + return drop; } static void -- cgit v1.2.3