diff -Naur miniupnpc-2.0.old/minixml.c miniupnpc-2.0/minixml.c --- miniupnpc-2.0.old/minixml.c 2022-01-30 10:21:20.876729280 +0100 +++ miniupnpc-2.0/minixml.c 2022-01-30 10:22:12.790614016 +0100 @@ -161,7 +161,8 @@ if (p->xml >= p->xmlend) return; } - if(memcmp(p->xml, " */ + if((p->xmlend >= (p->xml + (9 + 3))) && (memcmp(p->xml, "xml += 9; diff -Naur miniupnpc-2.0.old/upnpreplyparse.c miniupnpc-2.0/upnpreplyparse.c --- miniupnpc-2.0.old/upnpreplyparse.c 2022-01-30 10:21:20.877729297 +0100 +++ miniupnpc-2.0/upnpreplyparse.c 2022-01-30 10:25:48.381585002 +0100 @@ -104,9 +104,7 @@ struct NameValueParserData * data) { struct xmlparser parser; - data->l_head = NULL; - data->portListing = NULL; - data->portListingLength = 0; + memset(data, 0, sizeof(struct NameValueParserData)); /* init xmlparser object */ parser.xmlstart = buffer; parser.xmlsize = bufsize;