mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
libavformat/ffmetadec.c: Fix Use-of-uninitialized-value
Check the return value of sscanf as it can return -1(EOF), for example when the first char in the line is 0x00 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
118e63dff1
commit
5cf439e72e
@ -101,19 +101,22 @@ static AVChapter *read_chapter(AVFormatContext *s)
|
||||
uint8_t line[256];
|
||||
int64_t start, end;
|
||||
AVRational tb = {1, 1e9};
|
||||
int ret;
|
||||
|
||||
get_line(s->pb, line, sizeof(line));
|
||||
|
||||
if (sscanf(line, "TIMEBASE=%d/%d", &tb.num, &tb.den))
|
||||
get_line(s->pb, line, sizeof(line));
|
||||
if (!sscanf(line, "START=%"SCNd64, &start)) {
|
||||
ret = sscanf(line, "START=%"SCNd64, &start);
|
||||
if (ret <= 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Expected chapter start timestamp, found %s.\n", line);
|
||||
start = (s->nb_chapters && s->chapters[s->nb_chapters - 1]->end != AV_NOPTS_VALUE) ?
|
||||
s->chapters[s->nb_chapters - 1]->end : 0;
|
||||
} else
|
||||
get_line(s->pb, line, sizeof(line));
|
||||
|
||||
if (!sscanf(line, "END=%"SCNd64, &end)) {
|
||||
ret = sscanf(line, "END=%"SCNd64, &end);
|
||||
if (ret <= 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Expected chapter end timestamp, found %s.\n", line);
|
||||
end = AV_NOPTS_VALUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user