diff --git a/valid.c b/valid.c index a3a9e3a1..d63137fa 100644 --- a/valid.c +++ b/valid.c @@ -315,7 +315,10 @@ vstateVPush(xmlValidCtxtPtr ctxt, xmlElementContentPtr cont, newSize = xmlGrowCapacity(ctxt->vstateMax, sizeof(tmp[0]), 8, MAX_RECURSE); - return(-1); + if (newSize < 0) { + xmlVErrMemory(ctxt); + return(-1); + } tmp = xmlRealloc(ctxt->vstateTab, newSize * sizeof(tmp[0])); if (tmp == NULL) { xmlVErrMemory(ctxt); @@ -6995,4 +6998,3 @@ xmlValidGetValidElements(xmlNode *prev, xmlNode *next, const xmlChar **names, return(nb_valid_elements); } #endif /* LIBXML_VALID_ENABLED */ -