Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 64 bytes) in /home/product/phpinc/getID3-1.9.7/getid3/module.audio-video.quicktime.php on line 844
I'm assuming that the file in question is poorly formed, but there should probably be some tests placed in this module to prevent it from entering a race condition when a poorly presented file scanned to prevent this error.
Unfortunately, I do not even know where to begin on this one in terms of fixing it.
Here's the relevant code section:
Code: Select all
case 'stts': // Sample Table Time-to-Sample atom
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1));
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4));
$sttsEntriesDataOffset = 8;
//$FrameRateCalculatorArray = array();
$frames_count = 0;
for ($i = 0; $i < $atom_structure['number_entries']; $i++) {
$atom_structure['time_to_sample_table'][$i]['sample_count'] = getid3_lib::BigEndian2Int(substr($atom_data, $sttsEntriesDataOffset, 4));
$sttsEntriesDataOffset += 4;
$atom_structure['time_to_sample_table'][$i]['sample_duration'] = getid3_lib::BigEndian2Int(substr($atom_data, $sttsEntriesDataOffset, 4));
$sttsEntriesDataOffset += 4;