View Issue Details

IDProjectCategoryView StatusLast Update
0002231libextractorpluginspublic2026-05-25 10:48
ReporterLRN Assigned ToChristian Grothoff Due Date
PrioritylowSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version1.10 
Target Version1.14Fixed in Version1.14 
Summary0002231: RIFF extractor is simply incorrect
DescriptionRIFF extractor does the following checks early on:
  if ((memcmp (&xdata[0],
               "RIFF", 4) != 0) || (memcmp (&xdata[8], "AVI ", 4) != 0))
    return 0;
  if (memcmp (&xdata[12], "LIST", 4) != 0)
    return 0;
  if (memcmp (&xdata[20], "hdrlavih", 8) != 0)
    return 0;

This is wrong. RIFF, like Matroska, consists of separate elements and sub-elements (called "chunks" and "subchunks"). One of the elements is LIST INFO, which contains various generic data (similar to tags), and is globally standardized (meaning that it's the same in all RIFF-based formats, including AVI, WAVE, ANI and others). The order in which chunks appear in a file is usually not standardized, and a robust RIFF parser should handle LIST INFO being both at the beginning and at the end of the file at the least.
Current RIFF extractor not only knows nothing about LIST INFO, but looks only for a LIST hdrl that starts with an avih chunk, discarding all other RIFF-based files.
TagsNo tags attached.

Issue History

Date ModifiedUsernameFieldChange
2012-03-20 06:23LRNNew Issue
2012-03-20 07:33LRNNote Added: 0005640
2026-05-19 12:45Christian GrothoffAssigned To => Christian Grothoff
2026-05-19 12:45Christian GrothoffStatusnew => assigned
2026-05-22 21:39Christian GrothoffStatusassigned => resolved
2026-05-22 21:39Christian GrothoffResolutionopen => fixed
2026-05-22 21:39Christian GrothoffFixed in Version => 1.14
2026-05-22 21:39Christian GrothoffProduct Version => 1.10
2026-05-22 21:39Christian GrothoffTarget Version => 1.14
2026-05-25 10:48Christian GrothoffStatusresolved => closed