]> granicus.if.org Git - libexpat/commitdiff
Annotate memory allocators for GCC
authorCristian Rodríguez <crrodriguez@opensuse.org>
Wed, 11 May 2016 17:55:19 +0000 (19:55 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Wed, 11 May 2016 17:55:19 +0000 (19:55 +0200)
expat/lib/expat.h
expat/lib/expat_external.h

index ec62f140515a18110bd0eb8697f11c7dd80dac44..5abcefdfa8bc8aba98bb3943ee0278fb29102043 100644 (file)
@@ -973,9 +973,12 @@ XML_FreeContentModel(XML_Parser parser, XML_Content *model);
 
 /* Exposing the memory handling functions used in Expat */
 XMLPARSEAPI(void *)
+XML_ATTR_MALLOC
+XML_ATTR_ALLOC_SIZE(2)
 XML_MemMalloc(XML_Parser parser, size_t size);
 
 XMLPARSEAPI(void *)
+XML_ATTR_ALLOC_SIZE(3)
 XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
 
 XMLPARSEAPI(void)
index 2c03284ea265bc62bbae15e29e48f7b0df4cef0d..fdfb62653ce88ee824f94aaef2de773e3e4d6d52 100644 (file)
 #define XMLIMPORT
 #endif
 
+#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96))
+#define XML_ATTR_MALLOC __attribute__((__malloc__))
+#else
+#define XML_ATTR_MALLOC
+#endif
+
+#if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+#define XML_ATTR_ALLOC_SIZE(x)  __attribute__((__alloc_size__(x)))
+#else
+#define XML_ATTR_ALLOC_SIZE(x)
+#endif
 
 #define XMLPARSEAPI(type) XMLIMPORT type XMLCALL