diff options
-rw-r--r-- | lib/xmlparse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/xmlparse.c b/lib/xmlparse.c index c766d40..ab34daf 100644 --- a/lib/xmlparse.c +++ b/lib/xmlparse.c @@ -6122,12 +6122,13 @@ poolGrow(STRING_POOL *pool) } if (pool->blocks && pool->start == pool->blocks->s) { int blockSize = (int)(pool->end - pool->start)*2; - pool->blocks = (BLOCK *) + BLOCK *temp = (BLOCK *) pool->mem->realloc_fcn(pool->blocks, (offsetof(BLOCK, s) + blockSize * sizeof(XML_Char))); - if (pool->blocks == NULL) + if (temp == NULL) return XML_FALSE; + pool->blocks = temp; pool->blocks->size = blockSize; pool->ptr = pool->blocks->s + (pool->ptr - pool->start); pool->start = pool->blocks->s; |