diff options
author | Chris Robinson <[email protected]> | 2007-12-22 14:00:10 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2007-12-22 14:00:10 -0800 |
commit | e516b3c0d317f2cceb5de6690705bfc6ff69f615 (patch) | |
tree | b4b7046b38d72b50be28150c46318bdffe37515d /OpenAL32 | |
parent | 51c5fa94aa9592d2c25209b94b6cbe4349850cbd (diff) |
Prevent possible buffer overflow in AL_PRINT
Diffstat (limited to 'OpenAL32')
-rw-r--r-- | OpenAL32/Include/alMain.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 71e29e47..1f62b535 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -82,7 +82,9 @@ extern char _alDebug[256]; if(!_al_print_fn) _al_print_fn = __FILE__; \ else _al_print_fn += 1; \ _al_print_i = snprintf(_alDebug, sizeof(_alDebug), "AL lib: %s:%d: ", _al_print_fn, __LINE__); \ - snprintf(_alDebug+_al_print_i, sizeof(_alDebug)-_al_print_i, __VA_ARGS__); \ + if(_al_print_i < (int)sizeof(_alDebug) && _al_print_i > 0) \ + snprintf(_alDebug+_al_print_i, sizeof(_alDebug)-_al_print_i, __VA_ARGS__); \ + _alDebug[sizeof(_alDebug)-1] = 0; \ fprintf(stderr, "%s", _alDebug); \ } while(0) |