diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/tools/env.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/tools/env.c b/src/tools/env.c index 3e6c168e..7ca7fdd7 100644 --- a/src/tools/env.c +++ b/src/tools/env.c @@ -548,7 +548,6 @@ static kh_mapping_entry_t* mapping_entries = NULL; void RecordEnvMappings(uintptr_t addr, size_t length, int fd) { - #ifndef ANDROID if (!envmap) { envmap = rbtree_init("envmap"); } if(!mapping_entries) mapping_entries = kh_init(mapping_entry); @@ -568,8 +567,10 @@ void RecordEnvMappings(uintptr_t addr, size_t length, int fd) int ret; mapping_t* mapping = NULL; + if (!box64env_entries) + box64env_entries = kh_init(box64env_entry); khint_t k = kh_get(mapping_entry, mapping_entries, lowercase_filename); - if(k==kh_end(mapping_entries)) { + if(k == kh_end(mapping_entries)) { mapping = box_calloc(1, sizeof(mapping_t)); mapping->filename = box_strdup(lowercase_filename); mapping->fullname = box_strdup(fullname); @@ -588,7 +589,7 @@ void RecordEnvMappings(uintptr_t addr, size_t length, int fd) printf_log(LOG_DEBUG, "Applied [%s] of range %p:%p\n", filename, addr, addr + length); PrintEnvVariables(mapping->env, LOG_DEBUG); } - #endif + box_free(lowercase_filename); } void RemoveMapping(uintptr_t addr, size_t length) @@ -654,4 +655,4 @@ size_t SizeFileMapped(uintptr_t addr) return end - mapping->start; } return 0; -} \ No newline at end of file +} |