diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c index 3b02d2b5b45393a77379c8f45e5b53ae8e144da5..216d4a2e5729c871df5c3041e21dca67aea10789 100644 --- a/libavformat/id3v2.c +++ b/libavformat/id3v2.c @@ -488,7 +488,7 @@ static void read_apic(AVFormatContext *s, AVIOContext *pb, int taglen, char *tag apic->len = taglen; apic->data = av_malloc(taglen); - if (!apic->data || avio_read(pb, apic->data, taglen) != taglen) + if (!apic->data || !apic->len || avio_read(pb, apic->data, taglen) != taglen) goto fail; new_extra->tag = "APIC";