forked from pool/expat
0f9fae28d8
NOT FOR 12.1, Factory Only. - Hide non public symbols reusing existing win32 API export/imports - annotate malloc/realloc-like functions with attribute alloc_size to catch possible misuses in calling code. OBS-URL: https://build.opensuse.org/request/show/89779 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/expat?expand=0&rev=16
37 lines
951 B
Diff
37 lines
951 B
Diff
--- lib/expat.h.orig
|
|
+++ lib/expat.h
|
|
@@ -941,9 +941,13 @@ XML_FreeContentModel(XML_Parser parser,
|
|
|
|
/* 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_MALLOC
|
|
+XML_ATTR_ALLOC_SIZE(3)
|
|
XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);
|
|
|
|
XMLPARSEAPI(void)
|
|
--- lib/expat_external.h.orig
|
|
+++ lib/expat_external.h
|
|
@@ -74,6 +74,17 @@
|
|
#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
|
|
|