Finally, do not allow a string variables to act as callback.
All checks were successful
The build was successful.
All checks were successful
The build was successful.
This commit is contained in:
parent
4db8ec02cd
commit
bbdc740388
|
@ -4843,8 +4843,11 @@ static sxi32 VmByteCodeExec(
|
||||||
ph7_value *pArg = &pTos[-pInstr->iP1];
|
ph7_value *pArg = &pTos[-pInstr->iP1];
|
||||||
SyHashEntry *pEntry;
|
SyHashEntry *pEntry;
|
||||||
SyString sName;
|
SyString sName;
|
||||||
|
VmInstr *bInstr = &aInstr[pc - 1];
|
||||||
/* Extract function name */
|
/* Extract function name */
|
||||||
if((pTos->iFlags & (MEMOBJ_CALL | MEMOBJ_STRING)) == 0) {
|
if(pTos->iFlags & MEMOBJ_STRING && bInstr->iOp == PH7_OP_LOAD) {
|
||||||
|
PH7_VmThrowError(&(*pVm), PH7_CTX_ERR, "Calling a non-callable object");
|
||||||
|
} else if((pTos->iFlags & (MEMOBJ_CALL | MEMOBJ_STRING)) == 0) {
|
||||||
if(pTos->iFlags & MEMOBJ_HASHMAP) {
|
if(pTos->iFlags & MEMOBJ_HASHMAP) {
|
||||||
ph7_value sResult;
|
ph7_value sResult;
|
||||||
SySetReset(&aArg);
|
SySetReset(&aArg);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user