Fix NPE
Change-Id: I6e56b4b93b43f156872c2197e96df0afe26acb87
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
index 65e83cc..e4b3d3e 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
@@ -2786,18 +2786,23 @@
}
synchronized(textData) {
- if (texts[docId] != null) {
- textData.textContent = texts[docId]!!.toString()
+ // Capture values locally to avoid TOCTOU race conditions
+ val text = texts[docId]
+ if (text != null) {
+ textData.textContent = text.toString()
}
- if (tokens[docId] != null) {
- textData.tokens = tokens[docId]
+ val tokenArray = tokens[docId]
+ if (tokenArray != null) {
+ textData.tokens = tokenArray
}
- if (sentences[docId] != null) {
- textData.sentences = sentences[docId]
+ val sentenceArray = sentences[docId]
+ if (sentenceArray != null) {
+ textData.sentences = sentenceArray
}
// Collect metadata
- if (metadata[docId] != null) {
- metadata[docId]!!.forEachIndexed { index, value ->
+ val metadataArray = metadata[docId]
+ if (metadataArray != null) {
+ metadataArray.forEachIndexed { index, value ->
textData.headerMetadata["field_$index"] = value
}
}