comparison wmavoice.c @ 11675:5c1363c233b8 libavcodec

Another buffer overflow, fixes issue1758.
author rbultje
date Sun, 02 May 2010 21:52:25 +0000
parents da59da296153
children 18c23a632001
comparison
equal deleted inserted replaced
11674:bb0470c1ebd9 11675:5c1363c233b8
695 memset(&synth_pf[size], 0, sizeof(synth_pf[0]) * (128 - size)); 695 memset(&synth_pf[size], 0, sizeof(synth_pf[0]) * (128 - size));
696 ff_rdft_calc(&s->rdft, synth_pf); 696 ff_rdft_calc(&s->rdft, synth_pf);
697 ff_rdft_calc(&s->rdft, coeffs); 697 ff_rdft_calc(&s->rdft, coeffs);
698 synth_pf[0] *= coeffs[0]; 698 synth_pf[0] *= coeffs[0];
699 synth_pf[1] *= coeffs[1]; 699 synth_pf[1] *= coeffs[1];
700 for (n = 1; n < 128; n++) { 700 for (n = 1; n < 64; n++) {
701 float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1]; 701 float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1];
702 synth_pf[n * 2] = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1]; 702 synth_pf[n * 2] = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1];
703 synth_pf[n * 2 + 1] = v2 * coeffs[n * 2] + v1 * coeffs[n * 2 + 1]; 703 synth_pf[n * 2 + 1] = v2 * coeffs[n * 2] + v1 * coeffs[n * 2 + 1];
704 } 704 }
705 ff_rdft_calc(&s->irdft, synth_pf); 705 ff_rdft_calc(&s->irdft, synth_pf);