Fixed dealing with faulty COMM chunks.
diff --git a/Lib/aifc.py b/Lib/aifc.py
index 7bdb9f0..2d897be 100644
--- a/Lib/aifc.py
+++ b/Lib/aifc.py
@@ -391,9 +391,6 @@
 					formlength = 0
 					break
 				raise EOFError # different error, raise exception
-			formlength = formlength - 8 - chunk.chunksize
-			if chunk.chunksize & 1:
-				formlength = formlength - 1
 			if chunk.chunkname == 'COMM':
 				self._read_comm_chunk(chunk)
 				self._comm_chunk_read = 1
@@ -409,6 +406,9 @@
 				pass
 			else:
 				raise Error, 'unrecognized chunk type '+chunk.chunkname
+			formlength = formlength - 8 - chunk.chunksize
+			if chunk.chunksize & 1:
+				formlength = formlength - 1
 			if formlength > 0:
 				chunk.skip()
 		if not self._comm_chunk_read or not self._ssnd_chunk: