mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/kvag: Check sample_rate
Fixes: Division by 0 Fixes: -copyts -start_at_zero -itsoffset 00:00:01 -itsscale 1 -ss 00:00:02 -i zgclab/ffmpeg_crash/poc1 output.mp4 Found-by: Wang Dawei and Zhou Geng, from Zhongguancun Laboratory Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
615c994739
commit
c26a762ea1
|
@ -38,7 +38,7 @@
|
||||||
typedef struct KVAGHeader {
|
typedef struct KVAGHeader {
|
||||||
uint32_t magic;
|
uint32_t magic;
|
||||||
uint32_t data_size;
|
uint32_t data_size;
|
||||||
uint32_t sample_rate;
|
int sample_rate;
|
||||||
uint16_t stereo;
|
uint16_t stereo;
|
||||||
} KVAGHeader;
|
} KVAGHeader;
|
||||||
|
|
||||||
|
@ -70,6 +70,9 @@ static int kvag_read_header(AVFormatContext *s)
|
||||||
hdr.sample_rate = AV_RL32(buf + 8);
|
hdr.sample_rate = AV_RL32(buf + 8);
|
||||||
hdr.stereo = AV_RL16(buf + 12);
|
hdr.stereo = AV_RL16(buf + 12);
|
||||||
|
|
||||||
|
if (hdr.sample_rate <= 0)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
par = st->codecpar;
|
par = st->codecpar;
|
||||||
par->codec_type = AVMEDIA_TYPE_AUDIO;
|
par->codec_type = AVMEDIA_TYPE_AUDIO;
|
||||||
par->codec_id = AV_CODEC_ID_ADPCM_IMA_SSI;
|
par->codec_id = AV_CODEC_ID_ADPCM_IMA_SSI;
|
||||||
|
|
Loading…
Reference in New Issue