From: Etienne CHAMPETIER Date: Fri, 27 Nov 2015 16:27:13 +0000 (+0000) Subject: ujail: DT_STRTAB uses d_ptr in d_un union (not d_val) X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=346152decc4aa3a5521047f3493127b64daa8098;p=oweals%2Fprocd.git ujail: DT_STRTAB uses d_ptr in d_un union (not d_val) see https://docs.oracle.com/cd/E19683-01/817-3677/chapter6-42444/index.html Signed-off-by: Etienne CHAMPETIER --- diff --git a/jail/elf.c b/jail/elf.c index 7c52880..46c19df 100644 --- a/jail/elf.c +++ b/jail/elf.c @@ -182,7 +182,7 @@ static int elf32_scan_dynamic(const char *map, int dyn_offset, int dyn_size, int if (curr->d_tag != DT_STRTAB) continue; - strtab = map + (curr->d_un.d_val - load_offset); + strtab = map + (curr->d_un.d_ptr - load_offset); break; } @@ -216,7 +216,7 @@ static int elf64_scan_dynamic(const char *map, int dyn_offset, int dyn_size, int if (curr->d_tag != DT_STRTAB) continue; - strtab = map + (curr->d_un.d_val - load_offset); + strtab = map + (curr->d_un.d_ptr - load_offset); break; }