summaryrefslogtreecommitdiff
path: root/relaxng.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2004-09-23 13:15:03 +0000
committerDaniel Veillard <veillard@src.gnome.org>2004-09-23 13:15:03 +0000
commit079f6a7559533ccf48d2acb5737d0728fcd9c939 (patch)
tree7e629a6563e77eebe9712c287102fd876dfde588 /relaxng.c
parent2248ff178b0d27ec366d4950392a5831e5792edb (diff)
downloadlibxml2-079f6a7559533ccf48d2acb5737d0728fcd9c939.tar.gz
more memory related code cleanups. Daniel
* HTMLparser.c parser.c relaxng.c xmlschemas.c: more memory related code cleanups. Daniel
Diffstat (limited to 'relaxng.c')
-rw-r--r--relaxng.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/relaxng.c b/relaxng.c
index 29cdb191..8eb81ece 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -3964,14 +3964,17 @@ xmlRelaxNGGetElements(xmlRelaxNGParserCtxtPtr ctxt,
return (NULL);
}
} else if (max <= len) {
+ xmlRelaxNGDefinePtr *temp;
+
max *= 2;
- ret =
- xmlRealloc(ret,
+ temp = xmlRealloc(ret,
(max + 1) * sizeof(xmlRelaxNGDefinePtr));
- if (ret == NULL) {
+ if (temp == NULL) {
xmlRngPErrMemory(ctxt, "getting element list\n");
+ xmlFree(ret);
return (NULL);
}
+ ret = temp;
}
ret[len++] = cur;
ret[len] = NULL;