From debdd26de8759321dc1650593477f1a83565565b Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Wed, 16 Oct 2013 14:49:05 +0100 Subject: Fix cross document store object hash collisions. When putting store objects into the store, ensure that they do cannot collide across documents. --- include/mupdf/fitz/store.h | 1 + source/pdf/pdf-font.c | 1 + source/pdf/pdf-store.c | 1 + 3 files changed, 3 insertions(+) diff --git a/include/mupdf/fitz/store.h b/include/mupdf/fitz/store.h index 934b160e..dc832b54 100644 --- a/include/mupdf/fitz/store.h +++ b/include/mupdf/fitz/store.h @@ -69,6 +69,7 @@ struct fz_store_hash_s { int i0; int i1; + void *ptr; } i; struct { diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c index f79a0769..e0664b13 100644 --- a/source/pdf/pdf-font.c +++ b/source/pdf/pdf-font.c @@ -765,6 +765,7 @@ hail_mary_make_hash_key(fz_store_hash *hash, void *key_) { hash->u.i.i0 = 0; hash->u.i.i1 = 0; + hash->u.i.ptr = NULL; return 1; } diff --git a/source/pdf/pdf-store.c b/source/pdf/pdf-store.c index d3873e76..dfb2f54c 100644 --- a/source/pdf/pdf-store.c +++ b/source/pdf/pdf-store.c @@ -9,6 +9,7 @@ pdf_make_hash_key(fz_store_hash *hash, void *key_) return 0; hash->u.i.i0 = pdf_to_num(key); hash->u.i.i1 = pdf_to_gen(key); + hash->u.i.ptr = pdf_get_indirect_document(key); return 1; } -- cgit v1.2.3