the function hash_sound (in src/aldrv/al_listen.cpp:31) takes a (signed)
int as argument, however when called it is passed an ALuint
(OurSound::buffer, src/aldrv/al_globals.h)
This causes an integer overflow, resulting in a negative 'hash', resulting
in an out of bound read or write of playingbuffers.
gdb output attached
Nobody/Anonymous
Crashes
SVN
Public
|
Date: 2009-11-02 21:23 >This causes an integer overflow, resulting in a negative 'hash', |
| Filename | Description | Download |
|---|---|---|
| 2890940.diff | +int hash_sound (const uint buffer) { | Download |
| hash_sound_segv.txt | gdb output including backtrace and variable values | Download |
| Field | Old Value | Date | By |
|---|---|---|---|
| File Added | 349256: 2890940.diff | 2009-11-02 21:22 | dogguts |
| File Added | 349254: hash_sound_segv.txt | 2009-11-02 21:19 | dogguts |