bpo-32056: Improve exceptions in aifc, wave and sunau. (GH-5951)

This commit is contained in:
Serhiy Storchaka 2018-03-18 09:55:53 +02:00 committed by GitHub
parent bc300ce205
commit 134cb01cda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 150 additions and 7 deletions

View file

@ -467,6 +467,10 @@ class Aifc_read:
self._nframes = _read_long(chunk)
self._sampwidth = (_read_short(chunk) + 7) // 8
self._framerate = int(_read_float(chunk))
if self._sampwidth <= 0:
raise Error('bad sample width')
if self._nchannels <= 0:
raise Error('bad # of channels')
self._framesize = self._nchannels * self._sampwidth
if self._aifc:
#DEBUG: SGI's soundeditor produces a bad size :-(