[FFmpeg-cvslog] avformat/oggparsevorbis: free base64 encoded data immediately after decoding it

James Almer git at videolan.org
Tue Jun 21 05:19:11 CEST 2016


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Jun 16 19:17:26 2016 -0300| [afd04058bc910e4a3b1017e03ea543d8be395818] | committer: James Almer

avformat/oggparsevorbis: free base64 encoded data immediately after decoding it

It has no use afterwards and freeing it before calling ff_flac_parse_picture()
may help prevent OOM issues on memory constrained scenarios.

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=afd04058bc910e4a3b1017e03ea543d8be395818
---

 libavformat/oggparsevorbis.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c
index c168718..89f40f6 100644
--- a/libavformat/oggparsevorbis.c
+++ b/libavformat/oggparsevorbis.c
@@ -161,10 +161,11 @@ int ff_vorbis_comment(AVFormatContext *as, AVDictionary **m,
                     av_freep(&ct);
                     continue;
                 }
-                if ((ret = av_base64_decode(pict, ct, len)) > 0)
-                    ret = ff_flac_parse_picture(as, pict, ret);
+                ret = av_base64_decode(pict, ct, len);
                 av_freep(&tt);
                 av_freep(&ct);
+                if (ret > 0)
+                    ret = ff_flac_parse_picture(as, pict, ret);
                 av_freep(&pict);
                 if (ret < 0) {
                     av_log(as, AV_LOG_WARNING, "Failed to parse cover art block.\n");



More information about the ffmpeg-cvslog mailing list