diff --git a/libavformat/nuv.c b/libavformat/nuv.c index a6e8e013fc..2f055b5f0f 100644 --- a/libavformat/nuv.c +++ b/libavformat/nuv.c @@ -226,7 +226,10 @@ static int nuv_packet(AVFormatContext *s, AVPacket *pkt) { pkt->stream_index = ctx->v_id; memcpy(pkt->data, hdr, copyhdrsize); ret = get_buffer(pb, pkt->data + copyhdrsize, size); - if (ret < 0) return ret; + if (ret < 0) { + av_free_packet(pkt); + return ret; + } if (ret < size) av_shrink_packet(pkt, copyhdrsize + ret); return 0;