libavformat/swfenc.c:484: error: Use After Free
  call to `av_fifo_free()` eventually accesses memory that was invalidated by call to `free()` on line 484 indirectly during the call to `av_fifo_free()`.

libavformat/swfenc.c:471:1: invalidation part of the trace starts here
469. }
470. 
471. static int swf_write_trailer(AVFormatContext *s)
     ^
472. {
473.     SWFContext *swf = s->priv_data;

libavformat/swfenc.c:471:1: parameter `s` of swf_write_trailer
  469. }
  470. 
  471. static int swf_write_trailer(AVFormatContext *s)
       ^
  472. {
  473.     SWFContext *swf = s->priv_data;

libavformat/swfenc.c:473:5: assigned
  471. static int swf_write_trailer(AVFormatContext *s)
  472. {
  473.     SWFContext *swf = s->priv_data;
           ^
  474.     ByteIOContext *pb = s->pb;
  475.     AVCodecContext *enc, *video_enc;

libavformat/swfenc.c:484:13: when calling `av_fifo_free` here
  482.             video_enc = enc;
  483.         else
  484.             av_fifo_free(swf->audio_fifo);
                   ^
  485.     }
  486. 

libavutil/fifo.c:38:1: parameter `f` of av_fifo_free
    36. }
    37. 
    38. void av_fifo_free(AVFifoBuffer *f)
        ^
    39. {
    40.     if(f){

libavutil/fifo.c:42:9: when calling `av_free` here
    40.     if(f){
    41.         av_free(f->buffer);
    42.         av_free(f);
                ^
    43.     }
    44. }

libavutil/mem.c:122:1: parameter `ptr` of av_free
      120. }
      121. 
      122. void av_free(void *ptr)
           ^
      123. {
      124.     /* XXX: this test should not be needed on most libcs */

libavutil/mem.c:129:9: was invalidated by call to `free()`
      127.         free((char*)ptr - ((char*)ptr)[-1]);
      128. #else
      129.         free(ptr);
                   ^
      130. #endif
      131. }

libavformat/swfenc.c:471:1: use-after-lifetime part of the trace starts here
469. }
470. 
471. static int swf_write_trailer(AVFormatContext *s)
     ^
472. {
473.     SWFContext *swf = s->priv_data;

libavformat/swfenc.c:471:1: parameter `s` of swf_write_trailer
  469. }
  470. 
  471. static int swf_write_trailer(AVFormatContext *s)
       ^
  472. {
  473.     SWFContext *swf = s->priv_data;

libavformat/swfenc.c:473:5: assigned
  471. static int swf_write_trailer(AVFormatContext *s)
  472. {
  473.     SWFContext *swf = s->priv_data;
           ^
  474.     ByteIOContext *pb = s->pb;
  475.     AVCodecContext *enc, *video_enc;

libavformat/swfenc.c:484:13: when calling `av_fifo_free` here
  482.             video_enc = enc;
  483.         else
  484.             av_fifo_free(swf->audio_fifo);
                   ^
  485.     }
  486. 

libavutil/fifo.c:38:1: parameter `f` of av_fifo_free
    36. }
    37. 
    38. void av_fifo_free(AVFifoBuffer *f)
        ^
    39. {
    40.     if(f){

libavutil/fifo.c:42:9: when calling `av_free` here
    40.     if(f){
    41.         av_free(f->buffer);
    42.         av_free(f);
                ^
    43.     }
    44. }

libavutil/mem.c:122:1: parameter `ptr` of av_free
      120. }
      121. 
      122. void av_free(void *ptr)
           ^
      123. {
      124.     /* XXX: this test should not be needed on most libcs */

libavutil/mem.c:129:9: invalid access occurs here
      127.         free((char*)ptr - ((char*)ptr)[-1]);
      128. #else
      129.         free(ptr);
                   ^
      130. #endif
      131. }
