summaryrefslogtreecommitdiffstats
path: root/linux-user/elfload.c
diff options
context:
space:
mode:
authorJames Hogan2014-03-26 00:21:50 +0100
committerRiku Voipio2014-05-02 20:59:27 +0200
commit8c0f0a60d48a6f62c20f4ce77dceb82047d3d57f (patch)
tree0da1ea86abf4f4e068d15f286b4eb513247cd5a5 /linux-user/elfload.c
parentlinux-user: Add /proc/self/exe open forwarding (diff)
downloadqemu-8c0f0a60d48a6f62c20f4ce77dceb82047d3d57f.tar.gz
qemu-8c0f0a60d48a6f62c20f4ce77dceb82047d3d57f.tar.xz
qemu-8c0f0a60d48a6f62c20f4ce77dceb82047d3d57f.zip
linux-user: Assert stack used for auxvec, envp, argv
Assert that the amount of stack space used for auxvec, envp & argv exactly matches the amount allocated. This catches if DLINFO_ITEMS isn't updated when another NEW_AUX_ENT is added. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Riku Voipio <riku.voipio@iki.fi> Cc: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/elfload.c')
-rw-r--r--linux-user/elfload.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index d2380b6ccb..ecf6f350e3 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1455,6 +1455,8 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
info->auxv_len = sp_auxv - sp;
sp = loader_build_argptr(envc, argc, sp, p, 0);
+ /* Check the right amount of stack was allocated for auxvec, envp & argv. */
+ assert(sp_auxv - sp == size);
return sp;
}