Add missing error check in TrieMap.

Bug: 18725954
Change-Id: I8fcb0d15dda3f823a4575fe707bcdec57ff5e89b
This commit is contained in:
Keisuke Kuroyanagi 2014-12-15 18:53:22 +09:00
parent ad546afbaa
commit 5e1b225082

View file

@ -79,6 +79,9 @@ int TrieMap::getNextLevelBitmapEntryIndex(const int key, const int bitmapEntryIn
} }
// Create a value entry and a bitmap entry. // Create a value entry and a bitmap entry.
const int valueEntryIndex = allocateTable(TERMINAL_LINKED_ENTRY_COUNT); const int valueEntryIndex = allocateTable(TERMINAL_LINKED_ENTRY_COUNT);
if (valueEntryIndex == INVALID_INDEX) {
return INVALID_INDEX;
}
if (!writeEntry(Entry(0, terminalEntry.getValue()), valueEntryIndex)) { if (!writeEntry(Entry(0, terminalEntry.getValue()), valueEntryIndex)) {
return INVALID_INDEX; return INVALID_INDEX;
} }
@ -195,6 +198,9 @@ bool TrieMap::writeValue(const uint64_t value, const int terminalEntryIndex) {
} }
// Create value entry and write value. // Create value entry and write value.
const int valueEntryIndex = allocateTable(TERMINAL_LINKED_ENTRY_COUNT); const int valueEntryIndex = allocateTable(TERMINAL_LINKED_ENTRY_COUNT);
if (valueEntryIndex == INVALID_INDEX) {
return false;
}
if (!writeEntry(Entry(value >> (FIELD1_SIZE * CHAR_BIT), value), valueEntryIndex)) { if (!writeEntry(Entry(value >> (FIELD1_SIZE * CHAR_BIT), value), valueEntryIndex)) {
return false; return false;
} }