aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2015-10-21 13:13:22 -0700
committerChristopher Ferris <cferris@google.com>2015-10-21 17:38:42 -0700
commit338c9755cfe3d009c3dfff7d108e2c3ddaa6f3bb (patch)
tree6389c5e3c195316982c8e6192513181a5fd63024
parent834ed932095aec986a8a86ba542fd19b12151aca (diff)
downloadlibunwind-marshmallow-dr1.5-dev.tar.gz
When I added the new ability to read from memory, I didn't fix one of the pointers in the map data when doing a copy. Bug: 24352206 (cherry picked from commit 2d1a6f7913ba690595d40e487e9978e695db71d5) Change-Id: I1671b9c06e67b3f92ff9026e453e44e872466113
-rw-r--r--src/Los-common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Los-common.c b/src/Los-common.c
index 111caba2..fd6ae3fa 100644
--- a/src/Los-common.c
+++ b/src/Los-common.c
@@ -66,6 +66,9 @@ move_cached_elf_data (struct map_info *old_list, struct map_info *new_list)
/* No need to do any lock, the entire local_map_list is locked
at this point. */
new_list->ei = old_list->ei;
+ /* Adjust the map pointer in the elf image data if necessary. */
+ if (!new_list->ei.mapped)
+ new_list->ei.u.memory.map = new_list;
/* If it was mapped before, make sure to mark it unmapped now. */
old_list->ei.mapped = false;
/* Don't bother breaking out of the loop, the next while check