Message321396
sndhdr.what() function throws several types of exceptions on unknown files instead of returning None (as documentation says).
Following code can replicate these crashes:
```
import sndhdr
import sys
sndhdr.what(sys.argv[1])
```
First crash is from wave or chunk module (input data is base64 encoded in the echo command):
```
$ echo UklGRjAwMDBXQVZFZm10IDAwMDABADAwMDAwMDAwMDAwMDAw | python3.7 -mbase64 -d > in.file
$ python3.7 sndhdr/test.py in.file
Traceback (most recent call last):
File "sndhdr/test.py", line 4, in <module>
sndhdr.what(sys.argv[1])
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 54, in what
res = whathdr(filename)
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 63, in whathdr
res = tf(h, f)
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 163, in test_wav
w = wave.open(f, 'r')
File "/tmp/python-3.7-bin/lib/python3.7/wave.py", line 510, in open
return Wave_read(f)
File "/tmp/python-3.7-bin/lib/python3.7/wave.py", line 164, in __init__
self.initfp(f)
File "/tmp/python-3.7-bin/lib/python3.7/wave.py", line 153, in initfp
chunk.skip()
File "/tmp/python-3.7-bin/lib/python3.7/chunk.py", line 160, in skip
self.file.seek(n, 1)
File "/tmp/python-3.7-bin/lib/python3.7/chunk.py", line 113, in seek
raise RuntimeError
RuntimeError
```
Second crash comes from sndhdr module itself (again base64 encoded data is first decoded on command line):
```
$ echo AAA= | python3.7 -mbase64 -d > in.file
$ python3.7 sndhdr/test.py in.fileTraceback (most recent call last):
File "sndhdr/test.py", line 4, in <module>
sndhdr.what(sys.argv[1])
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 54, in what
res = whathdr(filename)
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 63, in whathdr
res = tf(h, f)
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 192, in test_sndr
rate = get_short_le(h[2:4])
File "/tmp/python-3.7-bin/lib/python3.7/sndhdr.py", line 213, in get_short_le
return (b[1] << 8) | b[0]
IndexError: index out of range
``` |
|
Date |
User |
Action |
Args |
2018-07-10 20:50:06 | Barro | set | recipients:
+ Barro |
2018-07-10 20:50:06 | Barro | set | messageid: <1531255806.14.0.56676864532.issue34088@psf.upfronthosting.co.za> |
2018-07-10 20:50:06 | Barro | link | issue34088 messages |
2018-07-10 20:50:06 | Barro | create | |
|