SHA256
3
0
forked from pool/expat
expat/expat-alloc-size.patch
Cristian Rodríguez 0f9fae28d8 Accepting request 89779 from home:elvigia:branches:devel:libraries:c_c++
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
2011-10-30 23:18:03 +00:00

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