[FFmpeg-cvslog] avformat/dashdec: check init_section before use it.
Steven Liu
git at videolan.org
Thu Feb 4 04:30:57 EET 2021
ffmpeg | branch: master | Steven Liu <liuqi05 at kuaishou.com> | Mon Jan 18 14:22:07 2021 +0800| [756897eff4950ad0c969b891d7c4af5df0406c25] | committer: Steven Liu
avformat/dashdec: check init_section before use it.
because there have no Initialization in SegmentTemplate,
so it will have no init_section for init segment file.
but in the is_common_init_section_exist function it will be used for
check to url, url_offset and size, so check init_section
before use init_section.
And fix code style in is_common_init_section_exist,
make the code block short when it too long.
fix ticket: 9062
Signed-off-by: liuqi05 <liuqi05 at kuaishou.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=756897eff4950ad0c969b891d7c4af5df0406c25
---
libavformat/dashdec.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
index 693fc7372b..9262e9c0a4 100644
--- a/libavformat/dashdec.c
+++ b/libavformat/dashdec.c
@@ -1992,7 +1992,12 @@ static int is_common_init_section_exist(struct representation **pls, int n_pls)
url_offset = first_init_section->url_offset;
size = pls[0]->init_section->size;
for (i=0;i<n_pls;i++) {
- if (av_strcasecmp(pls[i]->init_section->url,url) || pls[i]->init_section->url_offset != url_offset || pls[i]->init_section->size != size) {
+ if (!pls[i]->init_section)
+ continue;
+
+ if (av_strcasecmp(pls[i]->init_section->url, url) ||
+ pls[i]->init_section->url_offset != url_offset ||
+ pls[i]->init_section->size != size) {
return 0;
}
}
More information about the ffmpeg-cvslog
mailing list