ofz#3782 libjpeg ubsan woes

https://github.com/libjpeg-turbo/libjpeg-turbo/issues/171

Change-Id: Ic6d7e27f88a542d78f3257418099c8fd875b04c9
Reviewed-on: https://gerrit.libreoffice.org/43812
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Caolán McNamara
2017-10-25 09:53:56 +01:00
parent ffb19c5be4
commit 35bb14d857

View File

@@ -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)