| Index: patches/ugly/09_enforce_vorbis_oob_divzero.patch
|
| ===================================================================
|
| --- patches/ugly/09_enforce_vorbis_oob_divzero.patch (revision 65184)
|
| +++ patches/ugly/09_enforce_vorbis_oob_divzero.patch (working copy)
|
| @@ -1,6 +1,6 @@
|
| -diff -rpu -N orig/libavcodec/vorbis_dec.c ffmpeg-mt/libavcodec/vorbis_dec.c
|
| ---- orig/libavcodec/vorbis_dec.c 2010-10-11 16:55:09 -0700
|
| -+++ ffmpeg-mt/libavcodec/vorbis_dec.c 2010-10-11 16:55:12 -0700
|
| +diff -wurp -N orig/libavcodec/vorbis_dec.c ffmpeg-mt/libavcodec/vorbis_dec.c
|
| +--- orig/libavcodec/vorbis_dec.c 2010-11-04 08:07:57 -0700
|
| ++++ ffmpeg-mt/libavcodec/vorbis_dec.c 2010-11-04 08:08:01 -0700
|
| @@ -974,6 +974,7 @@ static av_cold int vorbis_decode_init(AV
|
| }
|
|
|
| @@ -17,7 +17,7 @@
|
| hdr_type = get_bits(gb, 8);
|
| if (hdr_type != 5) {
|
| av_log(avccontext, AV_LOG_ERROR, "Third header is not the setup header.\n");
|
| -@@ -1207,7 +1209,7 @@ static uint_fast8_t vorbis_floor1_decode
|
| +@@ -1210,7 +1212,7 @@ static int vorbis_floor1_decode(vorbis_c
|
| adx = vf->list[high_neigh_offs].x - vf->list[low_neigh_offs].x;
|
| ady = FFABS(dy);
|
| err = ady * (vf->list[i].x - vf->list[low_neigh_offs].x);
|
| @@ -26,7 +26,7 @@
|
| if (dy < 0) {
|
| predicted = floor1_Y_final[low_neigh_offs] - off;
|
| } else {
|
| -@@ -1293,7 +1295,7 @@ static av_always_inline int vorbis_resid
|
| +@@ -1296,7 +1298,7 @@ static av_always_inline int vorbis_resid
|
| uint_fast16_t j_times_ptns_to_read;
|
|
|
| voffset = vr->begin;
|
| @@ -35,7 +35,7 @@
|
| if (!pass) {
|
| uint_fast32_t inverse_class = ff_inverse[vr->classifications];
|
| for (j_times_ptns_to_read = 0, j = 0; j < ch_used; ++j) {
|
| -@@ -1613,6 +1615,7 @@ static int vorbis_decode_frame(AVCodecCo
|
| +@@ -1623,6 +1625,7 @@ static int vorbis_decode_frame(AVCodecCo
|
| AV_DEBUG("packet length %d \n", buf_size);
|
|
|
| init_get_bits(gb, buf, buf_size*8);
|
|
|