[FFmpeg-devel] [PATCH] avcodec/encode: don't return immediately on failure
James Almer
jamrial at gmail.com
Tue Oct 3 07:55:44 EEST 2017
Fixes memleaks introduced by skipping cleanup at the end of the
functions.
Regression since a22c6a4796ca1f2cbee6784262515da876fbec22.
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavcodec/encode.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/libavcodec/encode.c b/libavcodec/encode.c
index c152228c92..841a185738 100644
--- a/libavcodec/encode.c
+++ b/libavcodec/encode.c
@@ -225,10 +225,10 @@ int attribute_align_arg avcodec_encode_audio2(AVCodecContext *avctx,
} else if (!avpkt->buf) {
AVPacket tmp = { 0 };
ret = av_packet_ref(&tmp, avpkt);
- if (ret < 0)
- return ret;
- av_packet_unref(avpkt);
- *avpkt = tmp;
+ if (!ret) {
+ av_packet_unref(avpkt);
+ *avpkt = tmp;
+ }
}
}
@@ -324,10 +324,10 @@ int attribute_align_arg avcodec_encode_video2(AVCodecContext *avctx,
} else if (!avpkt->buf) {
AVPacket tmp = { 0 };
ret = av_packet_ref(&tmp, avpkt);
- if (ret < 0)
- return ret;
- av_packet_unref(avpkt);
- *avpkt = tmp;
+ if (!ret) {
+ av_packet_unref(avpkt);
+ *avpkt = tmp;
+ }
}
}
--
2.14.1
More information about the ffmpeg-devel
mailing list