Module: libav Branch: master Commit: 9c569ef7129d2e2972a5caa9cc01899a502b4bbf
Author: Aurelien Jacobs <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Thu Mar 24 00:28:19 2011 +0100 matroskadec: check that pointers were initialized before accessing them Signed-off-by: Aurelien Jacobs <[email protected]> Signed-off-by: Anton Khirnov <[email protected]> --- libavformat/matroskadec.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 0fa94a1..9c11c71 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1084,19 +1084,21 @@ static void matroska_convert_tags(AVFormatContext *s) if (tags[i].target.attachuid) { MatroskaAttachement *attachment = matroska->attachments.elem; for (j=0; j<matroska->attachments.nb_elem; j++) - if (attachment[j].uid == tags[i].target.attachuid) + if (attachment[j].uid == tags[i].target.attachuid + && attachment[j].stream) matroska_convert_tag(s, &tags[i].tag, &attachment[j].stream->metadata, NULL); } else if (tags[i].target.chapteruid) { MatroskaChapter *chapter = matroska->chapters.elem; for (j=0; j<matroska->chapters.nb_elem; j++) - if (chapter[j].uid == tags[i].target.chapteruid) + if (chapter[j].uid == tags[i].target.chapteruid + && chapter[j].chapter) matroska_convert_tag(s, &tags[i].tag, &chapter[j].chapter->metadata, NULL); } else if (tags[i].target.trackuid) { MatroskaTrack *track = matroska->tracks.elem; for (j=0; j<matroska->tracks.nb_elem; j++) - if (track[j].uid == tags[i].target.trackuid) + if (track[j].uid == tags[i].target.trackuid && track[j].stream) matroska_convert_tag(s, &tags[i].tag, &track[j].stream->metadata, NULL); } else { _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
