summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/neon/UnpackedTarball_neon.mk1
-rw-r--r--external/neon/ubsan.patch11
2 files changed, 12 insertions, 0 deletions
diff --git a/external/neon/UnpackedTarball_neon.mk b/external/neon/UnpackedTarball_neon.mk
index 1b922df83d49..3a4b58a9d251 100644
--- a/external/neon/UnpackedTarball_neon.mk
+++ b/external/neon/UnpackedTarball_neon.mk
@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,neon,\
external/neon/neon.patch \
external/neon/neon_ne_set_request_flag.patch \
external/neon/neon_with_gnutls.patch \
+ external/neon/ubsan.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/neon/ubsan.patch b/external/neon/ubsan.patch
new file mode 100644
index 000000000000..56445fcb7e17
--- /dev/null
+++ b/external/neon/ubsan.patch
@@ -0,0 +1,11 @@
+--- src/ne_compress.c
++++ src/ne_compress.c
+@@ -81,7 +81,7 @@
+ };
+
+ /* Convert 'buf' to unsigned int; 'buf' must be 'unsigned char *' */
+-#define BUF2UINT(buf) (((buf)[3]<<24) + ((buf)[2]<<16) + ((buf)[1]<<8) + (buf)[0])
++#define BUF2UINT(buf) (((unsigned)((buf)[3])<<24) + ((buf)[2]<<16) + ((buf)[1]<<8) + (buf)[0])
+
+ #define ID1 0x1f
+ #define ID2 0x8b