Unified · Split
| @@ -838,10 +838,10 @@ static int ape_decode_frame(AVCodecContext *avctx, void *data, · 837 unmodified lines | |||
| 838 | return AVERROR_INVALIDDATA; | 838 | return AVERROR_INVALIDDATA; |
| 839 | } | 839 | } |
| 840 | 840 | ||
| 841 | tmp_data = av_realloc(s->data, FFALIGN(buf_size, 4)); | 841 | av_free(s->data); |
| 842 | if (!tmp_data) | 842 | s->data = av_malloc(FFALIGN(buf_size, 4)); |
| 843 | if (!s->data) | ||
| 843 | return AVERROR(ENOMEM); | 844 | return AVERROR(ENOMEM); |
| 844 | s->data = tmp_data; | ||
| 845 | s->dsp.bswap_buf((uint32_t*)s->data, (const uint32_t*)buf, buf_size >> 2); | 845 | s->dsp.bswap_buf((uint32_t*)s->data, (const uint32_t*)buf, buf_size >> 2); |
| 846 | s->ptr = s->data; | 846 | s->ptr = s->data; |
| 847 | s->data_end = s->data + buf_size; | 847 | s->data_end = s->data + buf_size; |