Added check for element in Get/SetEntProp funcs >= 0 (bug 5141, r=fyren).
This commit is contained in:
parent
ca94a61acf
commit
5732e34f50
@ -968,7 +968,7 @@ static cell_t SetEntDataString(IPluginContext *pContext, const cell_t *params)
|
||||
}
|
||||
|
||||
#define CHECK_SET_PROP_DATA_OFFSET() \
|
||||
if (element >= td->fieldSize) \
|
||||
if (element < 0 || element >= td->fieldSize) \
|
||||
{ \
|
||||
return pContext->ThrowNativeError("Element %d is out of bounds (Prop %s has %d elements).", \
|
||||
element, \
|
||||
@ -1001,7 +1001,7 @@ static cell_t SetEntDataString(IPluginContext *pContext, const cell_t *params)
|
||||
{ \
|
||||
case type: \
|
||||
{ \
|
||||
if (element > 0) \
|
||||
if (element != 0) \
|
||||
{ \
|
||||
return pContext->ThrowNativeError("SendProp %s is not an array. Element %d is invalid.", \
|
||||
prop, \
|
||||
@ -1036,7 +1036,7 @@ static cell_t SetEntDataString(IPluginContext *pContext, const cell_t *params)
|
||||
} \
|
||||
\
|
||||
int elementCount = pTable->GetNumProps(); \
|
||||
if (element >= elementCount) \
|
||||
if (element < 0 || element >= elementCount) \
|
||||
{ \
|
||||
return pContext->ThrowNativeError("Element %d is out of bounds (Prop %s has %d elements).", \
|
||||
element, \
|
||||
@ -1816,14 +1816,14 @@ static cell_t GetEntPropString(IPluginContext *pContext, const cell_t *params)
|
||||
|
||||
bIsStringIndex = (td->fieldType != FIELD_CHARACTER);
|
||||
|
||||
if (bIsStringIndex && element >= td->fieldSize)
|
||||
if (bIsStringIndex && (element < 0 || element >= td->fieldSize))
|
||||
{
|
||||
return pContext->ThrowNativeError("Element %d is out of bounds (Prop %s has %d elements).",
|
||||
element,
|
||||
prop,
|
||||
td->fieldSize);
|
||||
}
|
||||
else if (element > 1)
|
||||
else if (element != 0)
|
||||
{
|
||||
return pContext->ThrowNativeError("Prop %s is not an array. Element %d is invalid.",
|
||||
prop,
|
||||
@ -1864,7 +1864,7 @@ static cell_t GetEntPropString(IPluginContext *pContext, const cell_t *params)
|
||||
info.prop->GetType(),
|
||||
DPT_String);
|
||||
}
|
||||
else if (element > 0)
|
||||
else if (element != 0)
|
||||
{
|
||||
return pContext->ThrowNativeError("SendProp %s is not an array. Element %d is invalid.",
|
||||
prop,
|
||||
|
Loading…
Reference in New Issue
Block a user