mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-11 07:11:39 +00:00
Prevent g_sounds[] buffer overflow when attempting to define a sound with an index higher than MAXSOUNDS-1. This reduces the number of sound definitions available by 1 as the last slot is now reserved for the error condition.
git-svn-id: https://svn.eduke32.com/eduke32@7063 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
6248cc9cee
commit
cc6e458d00
1 changed files with 3 additions and 2 deletions
|
@ -6080,8 +6080,9 @@ repeatcase:
|
||||||
k = *(g_scriptPtr-1);
|
k = *(g_scriptPtr-1);
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)k >= MAXSOUNDS-1))
|
if (EDUKE32_PREDICT_FALSE((unsigned)k >= MAXSOUNDS-1))
|
||||||
{
|
{
|
||||||
initprintf("%s:%d: error: exceeded sound limit of %d.\n",g_scriptFileName,g_lineNumber,MAXSOUNDS);
|
initprintf("%s:%d: error: sound index exceeds limit of %d.\n",g_scriptFileName,g_lineNumber, MAXSOUNDS-1);
|
||||||
g_errorCnt++;
|
g_errorCnt++;
|
||||||
|
k = MAXSOUNDS-1;
|
||||||
}
|
}
|
||||||
g_scriptPtr--;
|
g_scriptPtr--;
|
||||||
i = 0;
|
i = 0;
|
||||||
|
@ -6140,7 +6141,7 @@ repeatcase:
|
||||||
if (k > g_highestSoundIdx)
|
if (k > g_highestSoundIdx)
|
||||||
g_highestSoundIdx = k;
|
g_highestSoundIdx = k;
|
||||||
|
|
||||||
if (k >= 0 && k < MAXSOUNDS && g_dynamicSoundMapping && j >= 0 && (labeltype[j] & LABEL_DEFINE))
|
if (k >= 0 && k < MAXSOUNDS-1 && g_dynamicSoundMapping && j >= 0 && (labeltype[j] & LABEL_DEFINE))
|
||||||
G_ProcessDynamicSoundMapping(label+(j<<6),k);
|
G_ProcessDynamicSoundMapping(label+(j<<6),k);
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue