You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2020/02/09 06:16:27 UTC
[lucenenet] 35/35: BUG:
Lucene.Net.Search.BooleanClause::Equals(BooleanClause): Fixed potential
null reference exception when Query is set to null
This is an automated email from the ASF dual-hosted git repository.
nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit f9e8fc0c8f71448927f91b015d3582d7b6675fd1
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Feb 8 19:42:53 2020 +0700
BUG: Lucene.Net.Search.BooleanClause::Equals(BooleanClause): Fixed potential null reference exception when Query is set to null
---
src/Lucene.Net/Search/BooleanClause.cs | 61 +++++++++++-----------------------
1 file changed, 19 insertions(+), 42 deletions(-)
diff --git a/src/Lucene.Net/Search/BooleanClause.cs b/src/Lucene.Net/Search/BooleanClause.cs
index cd81e97..fff6043 100644
--- a/src/Lucene.Net/Search/BooleanClause.cs
+++ b/src/Lucene.Net/Search/BooleanClause.cs
@@ -65,50 +65,27 @@ namespace Lucene.Net.Search
public virtual Occur Occur
{
- get
- {
- return occur;
- }
- set
- {
- occur = value;
- }
+ get => occur;
+ set => occur = value;
}
public virtual Query Query
{
- get
- {
- return query;
- }
- set
- {
- query = value;
- }
+ get => query;
+ set => query = value;
}
- public virtual bool IsProhibited
- {
- get
- {
- return Occur.MUST_NOT == occur;
- }
- }
+ public virtual bool IsProhibited => Occur.MUST_NOT == occur;
- public virtual bool IsRequired
- {
- get
- {
- return Occur.MUST == occur;
- }
- }
+ public virtual bool IsRequired => Occur.MUST == occur;
/// <summary>
/// Returns <c>true</c> if <paramref name="o"/> is equal to this. </summary>
public override bool Equals(object o)
{
- BooleanClause bc = o as BooleanClause;
- return this.Equals(bc);
+ if (o is BooleanClause other)
+ return this.Equals(other);
+ return false;
}
/// <summary>
@@ -123,16 +100,16 @@ namespace Lucene.Net.Search
// LUCENENET specific
public bool Equals(BooleanClause other)
{
- bool success = true;
- if (object.ReferenceEquals(null, other))
- {
- return object.ReferenceEquals(null, this); // LUCENENET TODO: This can never happen - revert to original code
- }
- if (query == null)
- {
- success &= other.Query == null;
- }
- return success && this.query.Equals(other.query) && this.occur == other.occur;
+ if (null == other)
+ return false;
+
+ bool success;
+ if (query is null)
+ success = other.Query is null;
+ else
+ success = query.Equals(other.query);
+
+ return success && this.occur == other.occur;
}
public override string ToString()