[FFmpeg-devel] [PATCH 3/3] avcodec/pngdec: Improve decoding text chunks
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Wed Mar 17 18:32:02 EET 2021
By checking immediately whether the first allocation was successfull
one can simplify the cleanup code in case of errors.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
libavcodec/pngdec.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 21e79a24a7..813f16692c 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -539,12 +539,13 @@ static int decode_text_chunk(PNGDecContext *s, uint32_t length, int compressed,
text_len = data_end - data;
}
- kw_utf8 = iso88591_to_utf8(keyword, keyword_end - keyword);
txt_utf8 = iso88591_to_utf8(data, text_len);
if (compressed)
av_bprint_finalize(&bp, NULL);
- if (!(kw_utf8 && txt_utf8)) {
- av_free(kw_utf8);
+ if (!txt_utf8)
+ return AVERROR(ENOMEM);
+ kw_utf8 = iso88591_to_utf8(keyword, keyword_end - keyword);
+ if (!kw_utf8) {
av_free(txt_utf8);
return AVERROR(ENOMEM);
}
--
2.27.0
More information about the ffmpeg-devel
mailing list