From a0e390a1234b1cc58f8e1fda7c7fb84921f46a59 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Mon, 26 Jul 2010 11:32:03 +0000 Subject: Fix bug where storage capacity of 0 or 1 was not taken care of. --- fitz/dev_text.c | 2 +- fitz/obj_array.c | 2 +- fitz/obj_dict.c | 2 +- fitz/stm_buffer.c | 2 ++ 4 files changed, 5 insertions(+), 3 deletions(-) (limited to 'fitz') diff --git a/fitz/dev_text.c b/fitz/dev_text.c index e23479e9..2cd4ab11 100644 --- a/fitz/dev_text.c +++ b/fitz/dev_text.c @@ -69,7 +69,7 @@ fz_addtextcharimp(fz_textspan *span, int c, fz_bbox bbox) { if (span->len + 1 >= span->cap) { - span->cap = span->cap ? (span->cap * 3) / 2 : 80; + span->cap = span->cap > 1 ? (span->cap * 3) / 2 : 80; span->text = fz_realloc(span->text, sizeof(fz_textchar) * span->cap); } span->text[span->len].c = c; diff --git a/fitz/obj_array.c b/fitz/obj_array.c index 0b42e8c4..d7d2d2e7 100644 --- a/fitz/obj_array.c +++ b/fitz/obj_array.c @@ -11,7 +11,7 @@ fz_newarray(int initialcap) obj->kind = FZ_ARRAY; obj->u.a.len = 0; - obj->u.a.cap = initialcap > 0 ? initialcap : 6; + obj->u.a.cap = initialcap > 1 ? initialcap : 6; obj->u.a.items = fz_malloc(sizeof (fz_obj*) * obj->u.a.cap); for (i = 0; i < obj->u.a.cap; i++) diff --git a/fitz/obj_dict.c b/fitz/obj_dict.c index 96e5dbff..af80226c 100644 --- a/fitz/obj_dict.c +++ b/fitz/obj_dict.c @@ -30,7 +30,7 @@ fz_newdict(int initialcap) obj->u.d.sorted = 1; obj->u.d.len = 0; - obj->u.d.cap = initialcap > 0 ? initialcap : 10; + obj->u.d.cap = initialcap > 1 ? initialcap : 10; obj->u.d.items = fz_malloc(sizeof(fz_keyval) * obj->u.d.cap); for (i = 0; i < obj->u.d.cap; i++) diff --git a/fitz/stm_buffer.c b/fitz/stm_buffer.c index 58c69996..f7da8289 100644 --- a/fitz/stm_buffer.c +++ b/fitz/stm_buffer.c @@ -5,6 +5,8 @@ fz_newbuffer(int size) { fz_buffer *b; + size = size > 1 ? size : 16; + b = fz_malloc(sizeof(fz_buffer)); b->refs = 1; b->ownsdata = 1; -- cgit v1.2.3