Fix OOB when clearing path-able tag entries

Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
TheMode 2022-04-13 22:22:39 +02:00
parent d8cda624c8
commit 6c250de41c
1 changed files with 6 additions and 1 deletions

View File

@ -122,7 +122,12 @@ final class TagHandlerImpl implements TagHandler {
}
// Handle removal if the tag was present (recursively)
if (value == null) {
pathHandlers[length - 1].entries[tagIndex] = null;
// Remove entry
{
Entry<?>[] finalEntries = pathHandlers[length - 1].entries;
if (finalEntries.length >= tagIndex) finalEntries[tagIndex] = null;
}
// Clear empty parents
boolean empty = false;
for (int i = length - 1; i >= 0; i--) {
TagHandlerImpl handler = pathHandlers[i];