aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/applehttp.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2011-04-12 00:19:56 +0300
committerMartin Storsjö <martin@martin.st>2011-04-13 11:30:37 +0300
commita92a7ddc253a640aba974d859eab20d74cebb3e0 (patch)
treeea258df95de693ee1ee813fcf0cad08c20e77214 /libavformat/applehttp.c
parent4c362a5212cf16e888e0ef51c3d6b9866152ef5f (diff)
downloadffmpeg-a92a7ddc253a640aba974d859eab20d74cebb3e0.tar.gz
applehttp: Only check the discard flags if v->ctx actually is initialized
This code could be executed if the demuxer reads more than one segment before returning from av_open_input_stream. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/applehttp.c')
-rw-r--r--libavformat/applehttp.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libavformat/applehttp.c b/libavformat/applehttp.c
index 243f4a6a03..35759be3cb 100644
--- a/libavformat/applehttp.c
+++ b/libavformat/applehttp.c
@@ -309,10 +309,13 @@ reload:
c->end_of_segment = 1;
c->cur_seq_no = v->cur_seq_no;
- v->needed = 0;
- for (i = v->stream_offset; i < v->stream_offset + v->ctx->nb_streams; i++) {
- if (v->parent->streams[i]->discard < AVDISCARD_ALL)
- v->needed = 1;
+ if (v->ctx) {
+ v->needed = 0;
+ for (i = v->stream_offset; i < v->stream_offset + v->ctx->nb_streams;
+ i++) {
+ if (v->parent->streams[i]->discard < AVDISCARD_ALL)
+ v->needed = 1;
+ }
}
if (!v->needed) {
av_log(v->parent, AV_LOG_INFO, "No longer receiving variant %d\n",