diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2017-11-09 16:42:47 +0100 |
---|---|---|
committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2017-11-09 16:42:47 +0100 |
commit | e03f0a199a67017b2f8052354cf732b2b4cae787 (patch) | |
tree | a12b2436ef7a2ad0fcdacd69cb6996bd0dd268d0 /xmlreader.c | |
parent | 71462a600608f5263e3907eef8d685571abeb1b9 (diff) | |
download | libxml2-e03f0a199a67017b2f8052354cf732b2b4cae787.tar.gz |
Fix hash callback signatures
Make sure that all parameters and return values of hash callback
functions exactly match the callback function type. This is required
to pass clang's Control Flow Integrity checks and to allow compilation
to asm.js with Emscripten.
Fixes bug 784861.
Diffstat (limited to 'xmlreader.c')
-rw-r--r-- | xmlreader.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/xmlreader.c b/xmlreader.c index 34c4c6bc..4053269b 100644 --- a/xmlreader.c +++ b/xmlreader.c @@ -491,6 +491,11 @@ xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) { } } +static void +xmlTextReaderFreeIDTableEntry(void *id, const xmlChar *name ATTRIBUTE_UNUSED) { + xmlFreeID((xmlIDPtr) id); +} + /** * xmlTextReaderFreeIDTable: * @table: An id table @@ -499,7 +504,7 @@ xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) { */ static void xmlTextReaderFreeIDTable(xmlIDTablePtr table) { - xmlHashFree(table, (xmlHashDeallocator) xmlFreeID); + xmlHashFree(table, xmlTextReaderFreeIDTableEntry); } /** |