mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-14 11:00:08 +01:00
avformat/aadec: Check for scanf() failure
Fixes: use of uninitialized variables
Fixes: blank.aa
Found-by: Chamal De Silva <chamal.desilva@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ed188f6dcd)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -78,6 +78,7 @@ static int aa_read_header(AVFormatContext *s)
|
|||||||
AADemuxContext *c = s->priv_data;
|
AADemuxContext *c = s->priv_data;
|
||||||
AVIOContext *pb = s->pb;
|
AVIOContext *pb = s->pb;
|
||||||
AVStream *st;
|
AVStream *st;
|
||||||
|
int ret;
|
||||||
|
|
||||||
/* parse .aa header */
|
/* parse .aa header */
|
||||||
avio_skip(pb, 4); // file size
|
avio_skip(pb, 4); // file size
|
||||||
@@ -121,7 +122,10 @@ static int aa_read_header(AVFormatContext *s)
|
|||||||
}
|
}
|
||||||
if (!strcmp(key, "HeaderKey")) { // this looks like "1234567890 1234567890 1234567890 1234567890"
|
if (!strcmp(key, "HeaderKey")) { // this looks like "1234567890 1234567890 1234567890 1234567890"
|
||||||
av_log(s, AV_LOG_DEBUG, "HeaderKey is <%s>\n", val);
|
av_log(s, AV_LOG_DEBUG, "HeaderKey is <%s>\n", val);
|
||||||
sscanf(val, "%u%u%u%u", &header_key_part[0], &header_key_part[1], &header_key_part[2], &header_key_part[3]);
|
ret = sscanf(val, "%u%u%u%u", &header_key_part[0], &header_key_part[1], &header_key_part[2], &header_key_part[3]);
|
||||||
|
if (ret != 4)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
for (idx = 0; idx < 4; idx++) {
|
for (idx = 0; idx < 4; idx++) {
|
||||||
AV_WB32(&header_key[idx * 4], header_key_part[idx]); // convert each part to BE!
|
AV_WB32(&header_key[idx * 4], header_key_part[idx]); // convert each part to BE!
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user