summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2017-03-31 14:18:02 +0100
committerRobin Watts <robin.watts@artifex.com>2017-03-31 14:57:38 +0100
commita0c30b512ff66fe18fdca0cd0eb240b60c95b42a (patch)
tree5f2b70826f280a326cedb96eef66f49200fff2c1 /source
parent4594d29875ce6cba8132e2051360b06131323c5b (diff)
downloadmupdf-a0c30b512ff66fe18fdca0cd0eb240b60c95b42a.tar.xz
Fix leaks of reaped object keys.
Diffstat (limited to 'source')
-rw-r--r--source/fitz/image.c3
-rw-r--r--source/fitz/store.c3
2 files changed, 4 insertions, 2 deletions
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