From d3d3dff673de18ada4ba4870279efb14c7f6d06b Mon Sep 17 00:00:00 2001 From: belliash Date: Thu, 9 May 2019 06:18:49 +0200 Subject: [PATCH] Do not allow to call statically a non-static method. --- engine/vm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/engine/vm.c b/engine/vm.c index 653f7e0..ba01265 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -4295,6 +4295,9 @@ static sxi32 VmByteCodeExec( VmPopOperand(&pTos, 1); } PH7_MemObjRelease(pTos); + } else if((pMeth->iFlags & PH7_CLASS_ATTR_STATIC) == 0) { + PH7_VmThrowError(&(*pVm), PH7_CTX_ERR, "Attempt to call statically a non-static method '%z::%z()'", + &pClass->sName, &sName); } else { /* Push method name on the stack */ PH7_MemObjRelease(pTos);