aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vorbis.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-01-08 05:03:35 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-01-08 05:03:39 +0100
commit7209c2b13f0bfaf4029ebb54a18ebb6959d2e3a3 (patch)
treed9b2115c63a03d547094eb5e430297e5339f0b92 /libavcodec/vorbis.c
parente75056bc549fe13bb6d29a8a67a6a2babf060417 (diff)
parent7ee536e87a569174775dabdd959a9b12c1d2ac3d (diff)
downloadffmpeg-7209c2b13f0bfaf4029ebb54a18ebb6959d2e3a3.tar.gz
Merge remote-tracking branch 'qatar/release/0.5' into release/0.5
* qatar/release/0.5: matroskadec: Fix a bug where a pointer was cached to an array that might later move due to a realloc() vorbis: Avoid some out-of-bounds reads vp3: fix oob read for negative tokens and memleaks on error. Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/vorbis.c')
-rw-r--r--libavcodec/vorbis.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/vorbis.c b/libavcodec/vorbis.c
index dbc409f8d7..13e7e65b0f 100644
--- a/libavcodec/vorbis.c
+++ b/libavcodec/vorbis.c
@@ -146,13 +146,13 @@ void ff_vorbis_ready_floor1_list(vorbis_floor1_entry * list, int values) {
}
}
-static void render_line(int x0, int y0, int x1, int y1, float * buf) {
+static void render_line(int x0, uint8_t y0, int x1, int y1, float * buf) {
int dy = y1 - y0;
int adx = x1 - x0;
int base = dy / adx;
int ady = FFABS(dy) - FFABS(base) * adx;
int x = x0;
- int y = y0;
+ uint8_t y = y0;
int err = 0;
int sy = dy<0 ? -1 : 1;
buf[x] = ff_vorbis_floor1_inverse_db_table[y];
@@ -168,7 +168,8 @@ static void render_line(int x0, int y0, int x1, int y1, float * buf) {
}
void ff_vorbis_floor1_render_list(vorbis_floor1_entry * list, int values, uint_fast16_t * y_list, int * flag, int multiplier, float * out, int samples) {
- int lx, ly, i;
+ int lx, i;
+ uint8_t ly;
lx = 0;
ly = y_list[0] * multiplier;
for (i = 1; i < values; i++) {