summaryrefslogtreecommitdiff
path: root/src/x86/Ginit_remote.c
diff options
context:
space:
mode:
authorArun Sharma <aruns@google.com>2009-03-16 11:06:26 -0700
committerArun Sharma <aruns@google.com>2009-03-16 21:34:49 -0700
commitff0ae70cc3c3c1498724deed519cd18dde6c1e80 (patch)
treef953cdc360269e9239e0a201a0081ca974b08b57 /src/x86/Ginit_remote.c
parent5822fca27a6861e07c3f74c3abd90cb020304d01 (diff)
downloadlibunwind-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.c10
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 */
}