Browse Source

avformat/ape: free packet on avio_read() failure

Fixes memleak
Fixes: msan_uninit-mem_7fcc198b365b_8417_sh3.ape
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.2-rc1
Michael Niedermayer 12 years ago
parent
commit
459db51271
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavformat/ape.c

+ 3
- 1
libavformat/ape.c View File

@@ -417,8 +417,10 @@ static int ape_read_packet(AVFormatContext * s, AVPacket * pkt)
AV_WL32(pkt->data , nblocks);
AV_WL32(pkt->data + 4, ape->frames[ape->currentframe].skip);
ret = avio_read(s->pb, pkt->data + extra_size, ape->frames[ape->currentframe].size);
if (ret < 0)
if (ret < 0) {
av_free_packet(pkt);
return ret;
}

pkt->pts = ape->frames[ape->currentframe].pts;
pkt->stream_index = 0;


Loading…
Cancel
Save