1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-24 13:33:01 +03:00

tree: Restore return value of xmlNodeListGetString with NULL list

When passing a NULL list to xmlNodeListGetString or
xmlNodeListGetRawString, return NULL instead of "" to match the old
behavior.

Fixes #783.
This commit is contained in:
Nick Wellnhofer
2024-08-12 21:38:50 +02:00
parent b45a0f0eca
commit 0c56eb8215
4 changed files with 36 additions and 13 deletions

View File

@@ -2521,30 +2521,38 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
}
case OP_XML_NODE_LIST_GET_STRING: {
xmlDocPtr doc;
xmlNodePtr list;
xmlChar *string;
startOp("xmlNodeListGetString");
incStrIdx();
doc = getDoc(0);
list = getNode(1);
string = xmlNodeListGetString(
getDoc(0),
getNode(1),
doc,
list,
getInt(0));
oomReport = (string == NULL);
oomReport = (list != NULL && string == NULL);
moveStr(0, string);
endOp();
break;
}
case OP_XML_NODE_LIST_GET_RAW_STRING: {
xmlDocPtr doc;
xmlNodePtr list;
xmlChar *string;
startOp("xmlNodeListGetRawString");
incStrIdx();
doc = getDoc(0);
list = getNode(1);
string = xmlNodeListGetRawString(
getDoc(0),
getNode(1),
doc,
list,
getInt(0));
oomReport = (string == NULL);
oomReport = (list != NULL && string == NULL);
moveStr(0, string);
endOp();
break;