aboutsummaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2014-03-25 23:21:50 +0000
committerRiku Voipio <riku.voipio@linaro.org>2014-05-02 21:59:27 +0300
commit8c0f0a60d48a6f62c20f4ce77dceb82047d3d57f (patch)
tree0da1ea86abf4f4e068d15f286b4eb513247cd5a5 /linux-user
parentaa07f5ecf9828bb2ff8d796cb0b17ad8534201c7 (diff)
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')
-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;
}