From fad7246fcdc82a704e425f7f1bface9bee73484a Mon Sep 17 00:00:00 2001 From: Pawel Dziepak Date: Thu, 8 May 2014 20:25:30 +0200 Subject: [PATCH] runtime_loader: fix CID 1211997, proper corner case handling --- src/system/runtime_loader/elf_symbol_lookup.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/system/runtime_loader/elf_symbol_lookup.h b/src/system/runtime_loader/elf_symbol_lookup.h index 497fa12410..433c9abb51 100644 --- a/src/system/runtime_loader/elf_symbol_lookup.h +++ b/src/system/runtime_loader/elf_symbol_lookup.h @@ -60,6 +60,7 @@ struct SymbolLookupCache { : fTableSize(image->symhash[1]), fValues(NULL), + fDSOs(NULL), fValuesResolved(NULL) { if (fTableSize > 0) { @@ -70,9 +71,10 @@ struct SymbolLookupCache { fValuesResolved = (uint32*)malloc(4 * elementCount); memset(fValuesResolved, 0, 4 * elementCount); - if (fValues == NULL || fValuesResolved == NULL) { + if (fValues == NULL || fDSOs == NULL || fValuesResolved == NULL) { free(fValuesResolved); free(fValues); + free(fDSOs); fTableSize = 0; } }