From 47cca096bcb1484c9563decf7fe51c2c7a660e10 Mon Sep 17 00:00:00 2001 From: belliash Date: Fri, 29 Mar 2019 09:09:51 +0100 Subject: [PATCH] Fix segmentation fault when trying to access array element. --- engine/vm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/engine/vm.c b/engine/vm.c index e375f83..9f91505 100644 --- a/engine/vm.c +++ b/engine/vm.c @@ -695,6 +695,15 @@ PH7_PRIVATE sxi32 PH7_VmCreateClassInstanceFrame( SyMemBackendPoolFree(&pVm->sAllocator, pVmAttr); return SXERR_MEM; } + if(pAttr->nType & MEMOBJ_HASHMAP) { + ph7_hashmap *pMap; + pMap = PH7_NewHashmap(&(*pVm), 0, 0); + if(pMap == 0) { + SyMemBackendPoolFree(&pVm->sAllocator, pMap); + return SXERR_MEM; + } + pMemObj->x.pOther = pMap; + } MemObjSetType(pMemObj, pAttr->nType); pVmAttr->nIdx = pMemObj->nIdx; if(SySetUsed(&pAttr->aByteCode) > 0) {