From ce2dd0b20bb2d3faff717ab948f7d09bb3749e09 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:47:38 +0200 Subject: [PATCH] Fix potential NULL pointer argument to memcpy (#13859) This is only possible when the length is 0, but memcpy doesn't like NULL pointers, as UBSAN trips over it. --- ext/dom/html5_parser.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/dom/html5_parser.c b/ext/dom/html5_parser.c index 68bb9bcc697..97358615507 100644 --- a/ext/dom/html5_parser.c +++ b/ext/dom/html5_parser.c @@ -86,7 +86,9 @@ static xmlNodePtr lexbor_libxml2_bridge_new_text_node_fast(xmlDocPtr lxml_doc, c lxml_text->type = XML_TEXT_NODE; lxml_text->doc = lxml_doc; lxml_text->content = BAD_CAST &lxml_text->properties; - memcpy(lxml_text->content, data, data_length); + if (data != NULL) { + memcpy(lxml_text->content, data, data_length); + } return lxml_text; } else { return xmlNewDocTextLen(lxml_doc, (const xmlChar *) data, data_length);