Loader: Fix BusFault in handling of OOM ofw PR 3992

by Willy-JL
This commit is contained in:
MX 2024-11-11 14:22:55 +03:00
parent 462ab255a1
commit 3d74f4e1dc
No known key found for this signature in database
GPG Key ID: 7CCC66B7DBDD1C83

View File

@ -8,11 +8,11 @@
#define TAG "Elf" #define TAG "Elf"
#define ELF_NAME_BUFFER_LEN 32 #define ELF_NAME_BUFFER_LEN 32
#define SECTION_OFFSET(e, n) ((e)->section_table + (n) * sizeof(Elf32_Shdr)) #define SECTION_OFFSET(e, n) ((e)->section_table + (n) * sizeof(Elf32_Shdr))
#define IS_FLAGS_SET(v, m) (((v) & (m)) == (m)) #define IS_FLAGS_SET(v, m) (((v) & (m)) == (m))
#define RESOLVER_THREAD_YIELD_STEP 30 #define RESOLVER_THREAD_YIELD_STEP 30
#define FAST_RELOCATION_VERSION 1 #define FAST_RELOCATION_VERSION 1
// #define ELF_DEBUG_LOG 1 // #define ELF_DEBUG_LOG 1
@ -834,7 +834,9 @@ void elf_file_free(ELFFile* elf) {
aligned_free(itref->value.data); aligned_free(itref->value.data);
} }
if(itref->value.fast_rel) { if(itref->value.fast_rel) {
aligned_free(itref->value.fast_rel->data); if(itref->value.fast_rel->data) {
aligned_free(itref->value.fast_rel->data);
}
free(itref->value.fast_rel); free(itref->value.fast_rel);
} }
free((void*)itref->key); free((void*)itref->key);