Browse Source

libavformat/flvdec.c: free always the packet after a resync.

In case of resync, always free the packet, but retry only if the resync
did not get to the end of the file. Otherwise, there is a memory leak when the
last packet in the file is corrupted.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.0
Thierry Foucu Michael Niedermayer 10 years ago
parent
commit
7f72f2d75e
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/flvdec.c

+ 1
- 1
libavformat/flvdec.c View File

@@ -1142,8 +1142,8 @@ leave:
av_log(s, AV_LOG_ERROR, "Packet mismatch %d %d\n", last, orig_size + 11);
avio_seek(s->pb, pos + 1, SEEK_SET);
ret = resync(s);
av_free_packet(pkt);
if (ret >= 0) {
av_free_packet(pkt);
goto retry;
}
}


Loading…
Cancel
Save