libavformat/avidec.c:1499: error: Integer Overflow L1
  ([-oo, 0] - 1):unsigned32 by call to `avformat_close_input`.

libavformat/avidec.c:1498:17: Call
1496.         if (ast) {
1497.             if (ast->sub_ctx) {
1498.                 av_freep(&ast->sub_ctx->pb);
                      ^
1499.                 avformat_close_input(&ast->sub_ctx);
1500.             }

libavutil/mem.c:202:5: Assignment
  200.     void **ptr = (void **)arg;
  201.     av_free(*ptr);
  202.     *ptr = NULL;
           ^
  203. }
  204. 

libavformat/avidec.c:1499:17: Call
1497.             if (ast->sub_ctx) {
1498.                 av_freep(&ast->sub_ctx->pb);
1499.                 avformat_close_input(&ast->sub_ctx);
                      ^
1500.             }
1501.             av_free(ast->sub_buffer);

libavformat/utils.c:2647:1: Parameter `(*ps)->nb_chapters`
  2645. }
  2646. 
  2647. void avformat_close_input(AVFormatContext **ps)
        ^
  2648. {
  2649.     AVFormatContext *s = *ps;

libavformat/utils.c:2662:5: Call
  2660.             s->iformat->read_close(s);
  2661. 
  2662.     avformat_free_context(s);
            ^
  2663. 
  2664.     *ps = NULL;

libavformat/utils.c:2596:1: <LHS trace>
2594. }
2595. 
2596. void avformat_free_context(AVFormatContext *s)
      ^
2597. {
2598.     int i, j;

libavformat/utils.c:2596:1: Parameter `s->nb_chapters`
    2594. }
    2595. 
    2596. void avformat_free_context(AVFormatContext *s)
          ^
    2597. {
    2598.     int i, j;

libavformat/utils.c:2636:12: Binary operation: ([-oo, 0] - 1):unsigned32 by call to `avformat_close_input` 
    2634.     av_freep(&s->programs);
    2635.     av_freep(&s->priv_data);
    2636.     while (s->nb_chapters--) {
                     ^
    2637.         av_dict_free(&s->chapters[s->nb_chapters]->metadata);
    2638.         av_free(s->chapters[s->nb_chapters]);

void avformat_free_context(AVFormatContext *s)
{
    int i, j;
    AVStream *st;
    av_opt_free(s);
    if (s->iformat && s->iformat->priv_class && s->priv_data)
        av_opt_free(s->priv_data);
    for (i = 0; i < s->nb_streams; i++) {
        st = s->streams[i];
        for (j = 0; j < st->nb_side_data; j++)
            av_freep(&st->side_data[j].data);
        av_freep(&st->side_data);
        st->nb_side_data = 0;
        if (st->parser) {
            av_parser_close(st->parser);
        }
        if (st->attached_pic.data)
            av_free_packet(&st->attached_pic);
        av_dict_free(&st->metadata);
        av_freep(&st->probe_data.buf);
        av_free(st->index_entries);
        av_free(st->codec->extradata);
        av_free(st->codec->subtitle_header);
        av_free(st->codec);
        av_free(st->priv_data);
        av_free(st->info);
        av_free(st);
    }
    for (i = s->nb_programs - 1; i >= 0; i--) {
        av_dict_free(&s->programs[i]->metadata);
        av_freep(&s->programs[i]->stream_index);
        av_freep(&s->programs[i]);
    }
    av_freep(&s->programs);
    av_freep(&s->priv_data);
    while (s->nb_chapters--) {
        av_dict_free(&s->chapters[s->nb_chapters]->metadata);
        av_free(s->chapters[s->nb_chapters]);
    }
    av_freep(&s->chapters);
    av_dict_free(&s->metadata);
    av_freep(&s->streams);
    av_freep(&s->internal);
    av_free(s);
}
['static int avi_read_close(AVFormatContext *s)\n{\n    int i;\n    AVIContext *avi = s->priv_data;\n    for (i = 0; i < s->nb_streams; i++) {\n        AVStream *st   = s->streams[i];\n        AVIStream *ast = st->priv_data;\n        if (ast) {\n            if (ast->sub_ctx) {\n                av_freep(&ast->sub_ctx->pb);\n                avformat_close_input(&ast->sub_ctx);\n            }\n            av_free(ast->sub_buffer);\n            av_free_packet(&ast->sub_pkt);\n        }\n    }\n    av_free(avi->dv_demux);\n    return 0;\n}', 'void av_freep(void *arg)\n{\n    void **ptr = (void **)arg;\n    av_free(*ptr);\n    *ptr = NULL;\n}', 'void avformat_close_input(AVFormatContext **ps)\n{\n    AVFormatContext *s = *ps;\n    AVIOContext *pb    = s->pb;\n    if ((s->iformat && s->iformat->flags & AVFMT_NOFILE) ||\n        (s->flags & AVFMT_FLAG_CUSTOM_IO))\n        pb = NULL;\n    flush_packet_queue(s);\n    if (s->iformat)\n        if (s->iformat->read_close)\n            s->iformat->read_close(s);\n    avformat_free_context(s);\n    *ps = NULL;\n    avio_close(pb);\n}', 'void avformat_free_context(AVFormatContext *s)\n{\n    int i, j;\n    AVStream *st;\n    av_opt_free(s);\n    if (s->iformat && s->iformat->priv_class && s->priv_data)\n        av_opt_free(s->priv_data);\n    for (i = 0; i < s->nb_streams; i++) {\n        st = s->streams[i];\n        for (j = 0; j < st->nb_side_data; j++)\n            av_freep(&st->side_data[j].data);\n        av_freep(&st->side_data);\n        st->nb_side_data = 0;\n        if (st->parser) {\n            av_parser_close(st->parser);\n        }\n        if (st->attached_pic.data)\n            av_free_packet(&st->attached_pic);\n        av_dict_free(&st->metadata);\n        av_freep(&st->probe_data.buf);\n        av_free(st->index_entries);\n        av_free(st->codec->extradata);\n        av_free(st->codec->subtitle_header);\n        av_free(st->codec);\n        av_free(st->priv_data);\n        av_free(st->info);\n        av_free(st);\n    }\n    for (i = s->nb_programs - 1; i >= 0; i--) {\n        av_dict_free(&s->programs[i]->metadata);\n        av_freep(&s->programs[i]->stream_index);\n        av_freep(&s->programs[i]);\n    }\n    av_freep(&s->programs);\n    av_freep(&s->priv_data);\n    while (s->nb_chapters--) {\n        av_dict_free(&s->chapters[s->nb_chapters]->metadata);\n        av_free(s->chapters[s->nb_chapters]);\n    }\n    av_freep(&s->chapters);\n    av_dict_free(&s->metadata);\n    av_freep(&s->streams);\n    av_freep(&s->internal);\n    av_free(s);\n}']