From f927c5b753f2ec1f037ad38cb55b4407dd7a9d79 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 23 Mar 2012 03:43:30 +0100 Subject: vorbisdemux: Check private context in theoras gtopts. This prevents a null ptr dereference. It could be checked differently but this way it should be possible to return some data. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer --- libavformat/oggparseskeleton.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavformat/oggparseskeleton.c') diff --git a/libavformat/oggparseskeleton.c b/libavformat/oggparseskeleton.c index 8d8e5dc10d..b0f55dd0b2 100644 --- a/libavformat/oggparseskeleton.c +++ b/libavformat/oggparseskeleton.c @@ -74,8 +74,11 @@ static int skeleton_header(AVFormatContext *s, int idx) target_idx = ogg_find_stream(ogg, AV_RL32(buf+12)); start_granule = AV_RL64(buf+36); if (target_idx >= 0 && start_granule != -1) { + int64_t pts = ogg_gptopts(s, target_idx, start_granule, NULL); + if (pts == AV_NOPTS_VALUE) + return -1; ogg->streams[target_idx].lastpts = - s->streams[target_idx]->start_time = ogg_gptopts(s, target_idx, start_granule, NULL); + s->streams[target_idx]->start_time = pts; } } -- cgit v1.2.3