runtime_loader: fix CID 1211997, proper corner case handling

This commit is contained in:
Pawel Dziepak 2014-05-08 20:25:30 +02:00
parent 2c001246a0
commit fad7246fcd

View File

@ -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;
}
}