1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-08-08 21:42:07 +03:00

exslt: Fix EXSLT functions without parameters

Fix regression from commit 7364666b on platforms where malloc(0) returns
NULL.

Should fix #100.
This commit is contained in:
Nick Wellnhofer
2023-12-06 19:00:04 +01:00
parent 86ec392efd
commit c5c66dfbf5

View File

@@ -385,13 +385,15 @@ exsltFuncFunctionFunction (xmlXPathParserContextPtr ctxt, int nargs) {
newBase = tctxt->varsNr; newBase = tctxt->varsNr;
/* If there are any parameters */ /* If there are any parameters */
if (paramNode != NULL) { if (paramNode != NULL) {
args = (xmlXPathObjectPtr *) xmlMalloc(sizeof(*args) * nargs); if (nargs > 0) {
if (args == NULL) args = (xmlXPathObjectPtr *) xmlMalloc(sizeof(*args) * nargs);
goto error; if (args == NULL)
/* Fetch the stored argument values from the caller */ goto error;
for (i = nargs - 1; i >= 0; i--) { /* Fetch the stored argument values from the caller */
args[i] = valuePop(ctxt); for (i = nargs - 1; i >= 0; i--) {
} args[i] = valuePop(ctxt);
}
}
/* /*
* Prepare to process params in reverse order. First, go to * Prepare to process params in reverse order. First, go to