From 65b383535cba0325c25b95310137e13b409e75ae Mon Sep 17 00:00:00 2001 From: Cheat Engine Date: Tue, 15 Aug 2023 13:59:16 +0200 Subject: [PATCH] also apply fix for 32-bit elf headers --- Cheat Engine/ceserver/symbols.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Cheat Engine/ceserver/symbols.c b/Cheat Engine/ceserver/symbols.c index 34424668..1bc4fe5e 100755 --- a/Cheat Engine/ceserver/symbols.c +++ b/Cheat Engine/ceserver/symbols.c @@ -227,6 +227,12 @@ Caller must free output manually { int i,j; + if (b->e_phentsize==0) + { + debug_log("invalid: e_phentsize is 0"); + return 0; + } + unsigned char *tempbuffer=NULL; int tempbufferpos=0; int maxoutputsize=TEMPBUFSIZE; @@ -819,6 +825,12 @@ int GetModuleSize32(int f, uint32_t fileoffset, Elf32_Ehdr *b) /* debug_log("32 bit\n"); debug_log("b->e_ehsize=%d (%d)\n", (int)b->e_ehsize, (int)sizeof(Elf32_Ehdr));*/ + if (b->e_phentsize==0) + { + debug_log("invalid program header entry size (0)\n"); + return -1; + } + //Elf32_Shdr *sectionHeaders=malloc(b->e_shentsize*b->e_shnum); Elf32_Phdr *programHeaders=malloc(b->e_phentsize*b->e_phnum); /* debug_log("e_shoff=%x\n", b->e_shoff);