Commit a572cc8c authored by Peter Ross's avatar Peter Ross

wtvdec: prevent memory leak in get_tag()

parent 7fb87bc5
...@@ -448,15 +448,20 @@ done: ...@@ -448,15 +448,20 @@ done:
static void get_tag(AVFormatContext *s, AVIOContext *pb, const char *key, int type, int length) 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; int buf_size;
char *buf = av_malloc(buf_size); char *buf;
if (!buf)
return;
if (!strcmp(key, "WM/MediaThumbType")) { if (!strcmp(key, "WM/MediaThumbType")) {
avio_skip(pb, length); avio_skip(pb, length);
return; 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)); snprintf(buf, buf_size, "%"PRIi32, avio_rl32(pb));
} else if (type == 1) { } else if (type == 1) {
avio_get_str16le(pb, length, buf, buf_size); avio_get_str16le(pb, length, buf, buf_size);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment