diff -Naur getid3/module.audio.mp3.php getid3-new/module.audio.mp3.php --- getid3/module.audio.mp3.php 2006-11-16 23:57:56.000000000 -0200 +++ getid3-new/module.audio.mp3.php 2009-07-31 20:32:00.000000000 -0300 @@ -1076,6 +1076,8 @@ fseek($fd, $avdata_offset, SEEK_SET); $sync_seek_buffer_size = min(128 * 1024, $info['avdataend'] - $avdata_offset); + // If sync < 1 then resort to default of 128 * 1024 + if ($sync_seek_buffer_size < 1) { $sync_seek_buffer_size = 128 * 1024; } $header = fread($fd, $sync_seek_buffer_size); $sync_seek_buffer_size = strlen($header); $synch_seek_offset = 0; diff -Naur getid3/module.audio.xiph.php getid3-new/module.audio.xiph.php --- getid3/module.audio.xiph.php 2006-12-03 22:12:42.000000000 -0200 +++ getid3-new/module.audio.xiph.php 2009-07-31 20:42:10.000000000 -0300 @@ -849,6 +849,8 @@ public static function OggPageSegmentLength($ogg_info_array, $segment_number=1) { + + if (!is_array($ogg_info_array['segment_table'])) { $ogg_info_array['segment_table'] = array(); } for ($i = 0; $i < $segment_number; $i++) { $segment_length = 0; @@ -859,6 +861,7 @@ } } } + $segment_length = !$segment_length ? '1' : $segment_length; return $segment_length; } @@ -949,4 +952,4 @@ } -?> \ No newline at end of file +?> diff -Naur getid3/module.tag.id3v2.php getid3-new/module.tag.id3v2.php --- getid3/module.tag.id3v2.php 2009-03-08 11:30:10.000000000 -0300 +++ getid3-new/module.tag.id3v2.php 2009-07-31 20:38:37.000000000 -0300 @@ -1928,8 +1928,8 @@ $return_array['genre'][] = $genre_string; } else { - - while (strpos($genre_string, '(') !== false) { + //MODIFIED per #466 Bernhard Weyrauch fix endless loop if no ) + while (strpos($genre_string, '(') !== false AND (strpos($genre_string, ')') !== false)) { $start_pos = strpos($genre_string, '('); $end_pos = strpos($genre_string, ')'); @@ -3155,6 +3155,7 @@ 'TPE3' => 'conductor', 'TPE4' => 'remixer', 'TPUB' => 'publisher', + 'TPOS' => 'disk', 'TRC' => 'isrc', 'TRCK' => 'track', 'TRK' => 'track', @@ -3280,4 +3281,4 @@ } -?> \ No newline at end of file +?> diff -Naur getid3/write.id3v2.php getid3-new/write.id3v2.php --- getid3/write.id3v2.php 2006-12-26 00:44:22.000000000 -0200 +++ getid3-new/write.id3v2.php 2009-07-31 20:32:00.000000000 -0300 @@ -374,9 +374,8 @@ } // rewrite file - no tag present or new tag longer than old tag - else - - if (!$fp_source = @fopen($this->filename, 'rb')) { + else { + if (!$fp_source = @fopen($this->filename, 'rb')) { throw new getid3_exception('Could not open '.$this->filename.' mode "rb"'); } fseek($fp_source, $engine->info['avdataoffset'], SEEK_SET);