diff options
author | Arun Sharma <aruns@google.com> | 2009-03-16 11:06:26 -0700 |
---|---|---|
committer | Arun Sharma <aruns@google.com> | 2009-03-16 21:34:49 -0700 |
commit | ff0ae70cc3c3c1498724deed519cd18dde6c1e80 (patch) | |
tree | f953cdc360269e9239e0a201a0081ca974b08b57 /src/x86/Ginit_remote.c | |
parent | 5822fca27a6861e07c3f74c3abd90cb020304d01 (diff) | |
download | libunwind-ff0ae70cc3c3c1498724deed519cd18dde6c1e80.tar.gz |
Bad pointer validation for 32 bit x86.
This corresponds to commit 649f1fb3449a65dd0626a709432d8b02a7c56bbc.
Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
Diffstat (limited to 'src/x86/Ginit_remote.c')
-rw-r--r-- | src/x86/Ginit_remote.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/x86/Ginit_remote.c b/src/x86/Ginit_remote.c index 5d3827d9..6949a73e 100644 --- a/src/x86/Ginit_remote.c +++ b/src/x86/Ginit_remote.c @@ -41,6 +41,16 @@ unw_init_remote (unw_cursor_t *cursor, unw_addr_space_t as, void *as_arg) c->dwarf.as = as; c->dwarf.as_arg = as_arg; + if (as == unw_local_addr_space) + { + c->dwarf.as_arg = c; + c->uc = as_arg; + } + else + { + c->dwarf.as_arg = as_arg; + c->uc = 0; + } return common_init (c); #endif /* !UNW_LOCAL_ONLY */ } |