[
https://issues.apache.org/jira/browse/LUCENE-5876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
M Kim updated LUCENE-5876:
--------------------------
Description:
public Query build(QueryNode queryNode) throws QueryNodeException {
BoostQueryNode boostNode = (BoostQueryNode) queryNode;
QueryNode child = boostNode.getChild();
if (child == null) {
return null;
}
Query query = (Query) child
.getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID);
query.setBoost(boostNode.getValue());
return query;
}
In BoostQueryNodeBuilder.build, the return variable, "query" can be null, but
there is no error handling code for the return variable. I think there should
be a null checker for query like for child.
<Test Case>
public void test1() throws Throwable {
BoostQueryNodeBuilder builder = new BoostQueryNodeBuilder();
QuotedFieldQueryNode quotedNode = new
QuotedFieldQueryNode((java.lang.CharSequence)"hi!", (java.lang.CharSequence)"",
10, 100);
BoostQueryNode node = new BoostQueryNode((QueryNode)quotedNode, 2.0f);
builder.build((QueryNode)node);
}
<Stack Trace>
1) test1(Test0)java.lang.NullPointerException
at
org.apache.lucene.queryparser.flexible.standard.builders.BoostQueryNodeBuilder.build(BoostQueryNodeBuilder.java:49)
at Test0.test1(Test0.java:4809)
was:
In BoostQueryNodeBuilder.build, the return variable, "query" can be null, but
there is no error handling code for the return variable.
25) test1(Test0)java.lang.NullPointerException
at
org.apache.lucene.queryparser.flexible.standard.builders.BoostQueryNodeBuilder.build(BoostQueryNodeBuilder.java:49)
at Test0.test1(Test0.java:4809)
public void test1() throws Throwable {
BoostQueryNodeBuilder builder = new BoostQueryNodeBuilder();
QuotedFieldQueryNode quotedNode = new
QuotedFieldQueryNode((java.lang.CharSequence)"hi!", (java.lang.CharSequence)"",
10, 100);
BoostQueryNode node = new BoostQueryNode((QueryNode)quotedNode, 2.0f);
builder.build((QueryNode)node);
}
> NPE in BoostQueryNodeBuilder.build
> ----------------------------------
>
> Key: LUCENE-5876
> URL: https://issues.apache.org/jira/browse/LUCENE-5876
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/queryparser
> Affects Versions: 4.9
> Reporter: M Kim
>
> public Query build(QueryNode queryNode) throws QueryNodeException {
> BoostQueryNode boostNode = (BoostQueryNode) queryNode;
> QueryNode child = boostNode.getChild();
> if (child == null) {
> return null;
> }
> Query query = (Query) child
> .getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID);
> query.setBoost(boostNode.getValue());
> return query;
> }
> In BoostQueryNodeBuilder.build, the return variable, "query" can be null, but
> there is no error handling code for the return variable. I think there
> should be a null checker for query like for child.
> <Test Case>
> public void test1() throws Throwable {
> BoostQueryNodeBuilder builder = new BoostQueryNodeBuilder();
> QuotedFieldQueryNode quotedNode = new
> QuotedFieldQueryNode((java.lang.CharSequence)"hi!",
> (java.lang.CharSequence)"", 10, 100);
> BoostQueryNode node = new BoostQueryNode((QueryNode)quotedNode, 2.0f);
> builder.build((QueryNode)node);
> }
> <Stack Trace>
> 1) test1(Test0)java.lang.NullPointerException
> at
> org.apache.lucene.queryparser.flexible.standard.builders.BoostQueryNodeBuilder.build(BoostQueryNodeBuilder.java:49)
> at Test0.test1(Test0.java:4809)
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]