Files

Group faulty

This group contains files with invalid data and corrupted files that might trigger crashes in a decoder. A decoder should not crash or freeze reading these files. Read the README.txt in the directory faulty for details on each file.

Manifest

  • File 01 has a streaminfo metadata block that lists the wrong maximum blocksize for the file. The file has a fixed blocksize of 16384 samples, but the streaminfo metadata block says the maximum blocksize is 4096. When a decoder initializes buffers for a blocksize of 4096 and tries to decode a block with 16384 samples, it might overrun a buffer

  • File 02 has a streaminfo metadata block that lists the wrong maximum framesize for the file. The file has an actual maximum framesize of 8846 byte, but the streaminfo metadata block says the maximum framesize is 654 byte. When a decoder initializes buffers for a frames of at most 654 byte and tries to read a frame of 8846 byte, it might overrun a buffer

  • File 03 has a streaminfo metadata block that lists the wrong bit depth for the file. It says the bit depth is 24, but the actual bit depth of all frames is 16.

  • File 04 has a streaminfo metadata block that lists the wrong number of channels for the file. It says the number of channels is 5, but the actual number of channels is 1.

  • File 05 has a streaminfo metadata block that lists the wrong total number of samples. It says the number of samples is 39842, while the actual total number of samples is 109487

  • File 06 doesn't have a streaminfo metadata block, despite having other metadata blocks, unlike the files 10 and 11 in the 'uncommon' set of files, which start directly at a frame header. It does have two other metadata blocks, a vorbis comment block and a padding block

  • File 07 has a streaminfo metadata block that is not the first metadata block of the file. It is being preceded by two other metadata blocks, a vorbis comment block and a padding block

  • File 08 has a blocksize of 65536, which is representable by the frame header but not by the streaminfo metadata block, and is thus invalid

  • File 09 has a blocksize of 1, which is not allowed for all but the last frame of a file

  • File 10 has a vorbis comment metadata block with invalid contents. The block has a correct overall length and has a single tag, but it states there are 10 tags, which means a parser could overread the block if it does not check for validity.

  • File 11 has an incorrect metadata block length, which leads to the parser searching for the next metadata block reading garbage.