File netpbm-CVE-2017-2586.patch of Package netpbm
--- a/converter/other/svgtopam.c
+++ b/converter/other/svgtopam.c
@@ -103,16 +103,23 @@
/*============================================================================
Wrappers for libxml2 routines.
- The difference is that these use conventional C data types and have
- shorter names.
+ The difference is that these use conventional C data types, have shorter
+ names, and abort the program instead of returning a special value when they
+ fail.
=============================================================================*/
static const char *
getAttribute(xmlTextReaderPtr const xmlReaderP,
const char * const attributeName) {
- return (const char *)
+ const char * const rc = (const char *)
xmlTextReaderGetAttribute(xmlReaderP, (const xmlChar *)attributeName);
+
+ if (rc == NULL)
+ pm_error("xmlTextReaderGetAttribute(\"%.256s\") failed. ",
+ attributeName);
+
+ return rc;
}
@@ -120,7 +127,13 @@
static const char *
currentNodeName(xmlTextReaderPtr const xmlReaderP) {
- return (const char *)xmlTextReaderConstName(xmlReaderP);
+ const char * const rc = (const char *)
+ xmlTextReaderConstName(xmlReaderP);
+
+ if (rc == NULL)
+ pm_error("xmlTextReaderConstName() failed. ");
+
+ return rc;
}