diff options
-rw-r--r-- | external/expat/UnpackedTarball_expat.mk | 1 | ||||
-rw-r--r-- | external/expat/ubsan.patch.0 | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/external/expat/UnpackedTarball_expat.mk b/external/expat/UnpackedTarball_expat.mk index 5d4f41f6d147..96f4e3ec8732 100644 --- a/external/expat/UnpackedTarball_expat.mk +++ b/external/expat/UnpackedTarball_expat.mk @@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,expat,conftools)) $(eval $(call gb_UnpackedTarball_add_patches,expat,\ external/expat/expat-winapi.patch \ + external/expat/ubsan.patch.0 \ )) # This is a bit hackish. diff --git a/external/expat/ubsan.patch.0 b/external/expat/ubsan.patch.0 new file mode 100644 index 000000000000..8317f922df88 --- /dev/null +++ b/external/expat/ubsan.patch.0 @@ -0,0 +1,11 @@ +--- lib/xmlparse.c ++++ lib/xmlparse.c +@@ -6485,7 +6485,7 @@ + static void FASTCALL + hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) { + iter->p = table->v; +- iter->end = iter->p + table->size; ++ iter->end = table->size == 0 ? iter->p : iter->p + table->size; + } + + static NAMED *FASTCALL |