diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/libutf8proc/files | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/libutf8proc/files')
-rw-r--r-- | dev-libs/libutf8proc/files/libutf8proc-1.3.1_p2-overrun.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/dev-libs/libutf8proc/files/libutf8proc-1.3.1_p2-overrun.patch b/dev-libs/libutf8proc/files/libutf8proc-1.3.1_p2-overrun.patch new file mode 100644 index 000000000000..8ce7f4cfbe98 --- /dev/null +++ b/dev-libs/libutf8proc/files/libutf8proc-1.3.1_p2-overrun.patch @@ -0,0 +1,33 @@ +--- libutf8proc-1.3.1-2/test/iterate.c ++++ libutf8proc-1.3.1-2/test/iterate.c +@@ -13,11 +13,17 @@ static void testbytes(unsigned char *buf, int len, utf8proc_ssize_t retval, int + utf8proc_int32_t out[16]; + utf8proc_ssize_t ret; + ++ /* Make a copy to ensure that memory is left uninitialized after "len" ++ * bytes. This way, Valgrind can detect overreads. ++ */ ++ unsigned char tmp[16]; ++ memcpy(tmp, buf, len); ++ + tests++; +- if ((ret = utf8proc_iterate(buf, len, out)) != retval) { ++ if ((ret = utf8proc_iterate(tmp, len, out)) != retval) { + fprintf(stderr, "Failed (%d):", line); + for (int i = 0; i < len ; i++) { +- fprintf(stderr, " 0x%02x", buf[i]); ++ fprintf(stderr, " 0x%02x", tmp[i]); + } + fprintf(stderr, " -> %zd\n", ret); + error++; +--- libutf8proc-1.3.1-2/src/utf8proc.c ++++ libutf8proc-1.3.1-2/src/utf8proc.c +@@ -128,7 +128,7 @@ UTF8PROC_DLLEXPORT utf8proc_ssize_t utf8proc_iterate( + if ((uc - 0xc2) > (0xf4-0xc2)) return UTF8PROC_ERROR_INVALIDUTF8; + if (uc < 0xe0) { // 2-byte sequence + // Must have valid continuation character +- if (!utf_cont(*str)) return UTF8PROC_ERROR_INVALIDUTF8; ++ if (str >= end || !utf_cont(*str)) return UTF8PROC_ERROR_INVALIDUTF8; + *dst = ((uc & 0x1f)<<6) | (*str & 0x3f); + return 2; + } |