Browse Source

8svx: fix memleak in iff-fibonacci fate test.

tags/n0.10
Clément Bœsch 14 years ago
parent
commit
f2193569a5
1 changed files with 3 additions and 1 deletions
  1. +3
    -1
      libavcodec/8svx.c

+ 3
- 1
libavcodec/8svx.c View File

@@ -110,7 +110,7 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,

/* decode and interleave the first packet */
if (!esc->samples && avpkt) {
uint8_t *deinterleaved_samples;
uint8_t *deinterleaved_samples, *p = NULL;

esc->samples_size = avctx->codec->id == CODEC_ID_8SVX_RAW || avctx->codec->id ==CODEC_ID_PCM_S8_PLANAR?
avpkt->size : avctx->channels + (avpkt->size-avctx->channels) * 2;
@@ -129,6 +129,7 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
}
if (!(deinterleaved_samples = av_mallocz(n)))
return AVERROR(ENOMEM);
p = deinterleaved_samples;

/* the uncompressed starting value is contained in the first byte */
if (avctx->channels == 2) {
@@ -145,6 +146,7 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
interleave_stereo(esc->samples, deinterleaved_samples, esc->samples_size);
else
memcpy(esc->samples, deinterleaved_samples, esc->samples_size);
av_freep(&p);
}

/* get output buffer */


Loading…
Cancel
Save