Commit 96840e47 authored by Paul B Mahol's avatar Paul B Mahol

avformat/utils: avoid unsigned integer overflows

parent dfb0b937
...@@ -4455,15 +4455,17 @@ void avformat_free_context(AVFormatContext *s) ...@@ -4455,15 +4455,17 @@ void avformat_free_context(AVFormatContext *s)
if (s->oformat && s->oformat->priv_class && s->priv_data) if (s->oformat && s->oformat->priv_class && s->priv_data)
av_opt_free(s->priv_data); av_opt_free(s->priv_data);
for (i = s->nb_streams - 1; i >= 0; i--) for (i = 0; i < s->nb_streams; i++)
ff_free_stream(s, s->streams[i]); free_stream(&s->streams[i]);
s->nb_streams = 0;
for (i = s->nb_programs - 1; i >= 0; i--) { for (i = 0; i < s->nb_programs; i++) {
av_dict_free(&s->programs[i]->metadata); av_dict_free(&s->programs[i]->metadata);
av_freep(&s->programs[i]->stream_index); av_freep(&s->programs[i]->stream_index);
av_freep(&s->programs[i]); av_freep(&s->programs[i]);
} }
s->nb_programs = 0;
av_freep(&s->programs); av_freep(&s->programs);
av_freep(&s->priv_data); av_freep(&s->priv_data);
while (s->nb_chapters--) { while (s->nb_chapters--) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment