wtvdec: prevent memory leak in get_tag()

This commit is contained in:
Peter Ross 2013-01-08 01:48:13 +11:00
parent 7fb87bc5f2
commit a572cc8c7a

View File

@ -448,15 +448,20 @@ done:
static void get_tag(AVFormatContext *s, AVIOContext *pb, const char *key, int type, int length)
{
int buf_size = FFMAX(2*length, LEN_PRETTY_GUID) + 1;
char *buf = av_malloc(buf_size);
if (!buf)
return;
int buf_size;
char *buf;
if (!strcmp(key, "WM/MediaThumbType")) {
avio_skip(pb, length);
return;
} else if (type == 0 && length == 4) {
}
buf_size = FFMAX(2*length, LEN_PRETTY_GUID) + 1;
buf = av_malloc(buf_size);
if (!buf)
return;
if (type == 0 && length == 4) {
snprintf(buf, buf_size, "%"PRIi32, avio_rl32(pb));
} else if (type == 1) {
avio_get_str16le(pb, length, buf, buf_size);