From 35bb14d8573d29d836a6ff8d64b06fa820e50d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Wed, 25 Oct 2017 09:53:56 +0100 Subject: [PATCH] ofz#3782 libjpeg ubsan woes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/libjpeg-turbo/libjpeg-turbo/issues/171 Change-Id: Ic6d7e27f88a542d78f3257418099c8fd875b04c9 Reviewed-on: https://gerrit.libreoffice.org/43812 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- external/libjpeg-turbo/ubsan.patch | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/external/libjpeg-turbo/ubsan.patch b/external/libjpeg-turbo/ubsan.patch index 81ff148c57d6..33d3c15a8b3c 100644 --- a/external/libjpeg-turbo/ubsan.patch +++ b/external/libjpeg-turbo/ubsan.patch @@ -17,3 +17,23 @@ put_bits -= 8; } +--- jdarith.c ++++ jdarith.c +@@ -306,7 +306,7 @@ + while (m >>= 1) + if (arith_decode(cinfo, st)) v |= m; + v += 1; if (sign) v = -v; +- entropy->last_dc_val[ci] += v; ++ entropy->last_dc_val[ci] = (entropy->last_dc_val[ci] + v) & 0xffff; + } + + /* Scale and output the DC coefficient (assumes jpeg_natural_order[0]=0) */ +@@ -564,7 +564,7 @@ + while (m >>= 1) + if (arith_decode(cinfo, st)) v |= m; + v += 1; if (sign) v = -v; +- entropy->last_dc_val[ci] += v; ++ entropy->last_dc_val[ci] = (entropy->last_dc_val[ci] + v) & 0xffff; + } + + if (block)