diff options
author | kwaclaw <kwaclaw> | 2010-02-25 18:35:36 +0000 |
---|---|---|
committer | kwaclaw <kwaclaw> | 2010-02-25 18:35:36 +0000 |
commit | 86d380528bc48525b3257fb730854e8c432c5079 (patch) | |
tree | db747d811c06d614b2c4494d352b86d042b58588 | |
parent | 2c62edf08c436a1cdf148c03442edc7e65c1ebc2 (diff) | |
download | libexpat-86d380528bc48525b3257fb730854e8c432c5079.tar.gz |
Fix for bug ID 2958794.
-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; |