From 877ca41451259bc586be9770d4dea64dc5bc6ce2 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Sun, 2 Feb 2025 00:29:39 +0800 Subject: [ENV] Fixed crash when rcfile does not exist (for #2295) (#2307) * [ENV] Fixed crash when rcfile does not exist (for #2295) * review --- src/tools/env.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/tools') 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 +} -- cgit 1.4.1