An incomplete fix for the NPE bugs in ParallelReader.java
---------------------------------------------------------
Key: LUCENE-3780
URL: https://issues.apache.org/jira/browse/LUCENE-3780
Project: Lucene - Java
Issue Type: Bug
Components: core/index
Affects Versions: 3.0
Reporter: Guangtai Liang
Priority: Critical
The fix revision 407851 was aimed to remove an NPE bug on the return value of
"fieldToReader.get(field)" in the methods "getTermFreqVector", "hasNorms",
"norms", "doSetNorm" of the file
"/lucene/java/trunk/src/java/org/apache/lucene/index/ParallelReader.java
" , but it is incomplete.
Since the returned value "fieldToReader.get(field)" could be null during the
runtime execution, its value should also be null-checked before being
dereferenced in other methods.
The buggy code locations the same fix needs to be applied at are as bellows:
Line 499 of the method "ParallelTermEnum()" :
public ParallelTermEnum() throws IOException {
try {
field = fieldToReader.firstKey();
} catch(NoSuchElementException e) {
// No fields, so keep field == null, termEnum == null
return;
}
if (field != null)
[Line 499] termEnum = fieldToReader.get(field).terms();
}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]