Browse Source

avformat/oggparsevorbis: use the base64 decode size macro

Allocate the memory needed for the decoded data rather than the
encoded data.

Signed-off-by: James Almer <jamrial@gmail.com>
tags/n3.1
James Almer 9 years ago
parent
commit
8b5b756c4d
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavformat/oggparsevorbis.c

+ 3
- 3
libavformat/oggparsevorbis.c View File

@@ -152,8 +152,8 @@ int ff_vorbis_comment(AVFormatContext *as, AVDictionary **m,
* recommended way of embedding cover art within VorbisComments."
*/
if (!strcmp(tt, "METADATA_BLOCK_PICTURE") && parse_picture) {
int ret;
char *pict = av_malloc(vl);
int ret, len = AV_BASE64_DECODE_SIZE(vl);
char *pict = av_malloc(len);

if (!pict) {
av_log(as, AV_LOG_WARNING, "out-of-memory error. Skipping cover art block.\n");
@@ -161,7 +161,7 @@ int ff_vorbis_comment(AVFormatContext *as, AVDictionary **m,
av_freep(&ct);
continue;
}
if ((ret = av_base64_decode(pict, ct, vl)) > 0)
if ((ret = av_base64_decode(pict, ct, len)) > 0)
ret = ff_flac_parse_picture(as, pict, ret);
av_freep(&tt);
av_freep(&ct);


Loading…
Cancel
Save