Private methods should not be accessible from child class.
The build was successful. Details

This commit is contained in:
Rafal Kupiec 2019-05-09 13:53:22 +02:00
parent 5e7d5957e2
commit ea5499f8b3
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
1 changed files with 4 additions and 0 deletions

View File

@ -4175,6 +4175,10 @@ static sxi32 VmByteCodeExec(
&pClass->sName, &sName
);
} else {
if(pNos->iFlags & MEMOBJ_PARENTOBJ && pMeth->iProtection == PH7_CLASS_PROT_PRIVATE) {
PH7_VmThrowError(&(*pVm), PH7_CTX_ERR,
"Access to the class method '%z->%z()' is forbidden", &pClass->sName, &sName);
}
/* Push method name on the stack */
PH7_MemObjRelease(pTos);
SyBlobAppend(&pTos->sBlob, SyStringData(&pMeth->sVmName), SyStringLength(&pMeth->sVmName));