diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-10-04 01:53:25 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-10-04 02:01:17 +0200 |
commit | 92a952a998d41206b6af06fe2d9c3eb9ab2e3f4a (patch) | |
tree | 2b324b94acc43c1a7c93a21b0a3e71f7efcc071d /media-libs/libtheora/files/libtheora-1.1.1-fix-UB.patch | |
parent | media-plugins/gst-plugins-wavpack: bump to 1.14.4, no code changes from 1.14.3 (diff) | |
download | gentoo-92a952a998d41206b6af06fe2d9c3eb9ab2e3f4a.tar.gz gentoo-92a952a998d41206b6af06fe2d9c3eb9ab2e3f4a.tar.bz2 gentoo-92a952a998d41206b6af06fe2d9c3eb9ab2e3f4a.zip |
media-libs/libtheora: Fix undefined behaviour, EAPI-7 bump
Thanks-to: <moatu@opentrash.com>
Bug: https://bugs.gentoo.org/620800
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
Diffstat (limited to 'media-libs/libtheora/files/libtheora-1.1.1-fix-UB.patch')
-rw-r--r-- | media-libs/libtheora/files/libtheora-1.1.1-fix-UB.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/media-libs/libtheora/files/libtheora-1.1.1-fix-UB.patch b/media-libs/libtheora/files/libtheora-1.1.1-fix-UB.patch new file mode 100644 index 000000000000..862d6a3b8164 --- /dev/null +++ b/media-libs/libtheora/files/libtheora-1.1.1-fix-UB.patch @@ -0,0 +1,47 @@ +From 0ae66d565e6bead8604d312bc1a4e9dccf245c88 Mon Sep 17 00:00:00 2001 +From: Tim Terriberry <tterribe@xiph.org> +Date: Tue, 8 May 2012 02:51:57 +0000 +Subject: [PATCH] Fix pp_sharp_mod calculation. + +This was broken when the dequant_tables indexing changed in commit + r16102, but it only affected post-processing quality, so we never + noticed. +With gcc 4.8.0, this can now trigger a segfault during decoder + initialization. + +svn path=/trunk/theora/; revision=18268 +--- + lib/decode.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +Note: The hunk header was modified from + + @@ -400,10 +400,10 @@ + +to + + @@ -397,10 +397,10 @@ + +to match the source code in the libtheora-1.1.1 tar-ball. + +diff --git a/lib/decode.c b/lib/decode.c +index b803505..9f2516a 100644 +--- a/lib/decode.c ++++ b/lib/decode.c +@@ -397,10 +397,10 @@ static int oc_dec_init(oc_dec_ctx *_dec,const th_info *_info, + int qsum; + qsum=0; + for(qti=0;qti<2;qti++)for(pli=0;pli<3;pli++){ +- qsum+=_dec->state.dequant_tables[qti][pli][qi][12]+ +- _dec->state.dequant_tables[qti][pli][qi][17]+ +- _dec->state.dequant_tables[qti][pli][qi][18]+ +- _dec->state.dequant_tables[qti][pli][qi][24]<<(pli==0); ++ qsum+=_dec->state.dequant_tables[qi][pli][qti][12]+ ++ _dec->state.dequant_tables[qi][pli][qti][17]+ ++ _dec->state.dequant_tables[qi][pli][qti][18]+ ++ _dec->state.dequant_tables[qi][pli][qti][24]<<(pli==0); + } + _dec->pp_sharp_mod[qi]=-(qsum>>11); + } +-- +2.10.2 |