diff --git a/libavformat/4xm.c b/libavformat/4xm.c index 706bd52466..9e924da7a1 100644 --- a/libavformat/4xm.c +++ b/libavformat/4xm.c @@ -237,18 +237,17 @@ static int fourxm_read_packet(AVFormatContext *s, return ret; fourcc_tag = LE_32(&header[0]); size = LE_32(&header[4]); - if (fourcc_tag == LIST_TAG) { - /* skip the LIST-FRAM tag and get the next fourcc */ - get_le32(pb); - fourcc_tag = get_le32(pb); - size = get_le32(pb); - } if (url_feof(pb)) return -EIO; switch (fourcc_tag) { + case LIST_TAG: + /* skip the LIST-* tag and move on to the next fourcc */ + get_le32(pb); + break; + case ifrm_TAG: case pfrm_TAG: case cfrm_TAG:{