OSDN Git Service
(root)
/
android-x86
/
external-ffmpeg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6742614
)
avformat/bink: Check return value of av_add_index_entry()
author
Michael Niedermayer
<michaelni@gmx.at>
Mon, 17 Feb 2014 22:44:49 +0000
(23:44 +0100)
committer
Michael Niedermayer
<michaelni@gmx.at>
Mon, 17 Feb 2014 22:47:05 +0000
(23:47 +0100)
Fixes null pointer dereference
Fixes:
cdbf15cbd0a27cee958dd0b8800e452e
-signal_sigsegv_737991_2083_cov_317652874_LBSTART.BIK
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/bink.c
patch
|
blob
|
history
diff --git
a/libavformat/bink.c
b/libavformat/bink.c
index
94990a2
..
ec9257b
100644
(file)
--- a/
libavformat/bink.c
+++ b/
libavformat/bink.c
@@
-81,6
+81,7
@@
static int read_header(AVFormatContext *s)
uint32_t pos, next_pos;
uint16_t flags;
int keyframe;
+ int ret;
vst = avformat_new_stream(s, NULL);
if (!vst)
@@
-184,8
+185,9
@@
static int read_header(AVFormatContext *s)
av_log(s, AV_LOG_ERROR, "invalid frame index table\n");
return AVERROR(EIO);
}
- av_add_index_entry(vst, pos, i, next_pos - pos, 0,
- keyframe ? AVINDEX_KEYFRAME : 0);
+ if ((ret = av_add_index_entry(vst, pos, i, next_pos - pos, 0,
+ keyframe ? AVINDEX_KEYFRAME : 0)) < 0)
+ return ret;
}
avio_seek(pb, vst->index_entries[0].pos, SEEK_SET);