From bf9575d365e3ccbe6f723236b0adc99a9b0717e9 Mon Sep 17 00:00:00 2001 From: Hannes Vogt Date: Sun, 21 Apr 2019 23:10:40 +0200 Subject: [PATCH] Bug 546619 - NPE in CPPClosureType.isSameType() Change-Id: I0a529f439c1422b89a9c5fca855c2c75818f9927 Signed-off-by: Hannes Vogt --- .../parser/org/eclipse/cdt/core/dom/ast/IType.java | 1 + .../cdt/internal/core/dom/parser/cpp/CPPClosureType.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IType.java index 9e128fac2f3..2d6bb8a35fd 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/IType.java @@ -36,6 +36,7 @@ public interface IType extends Cloneable { * See {@link ICPPTemplateTemplateParameter#isSameType(IType)} or * {@link ICPPTemplateTypeParameter#isSameType(IType)} for the semantics of comparing template * parameters denoting types. + * @param type can be {@code null}. */ public boolean isSameType(IType type); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClosureType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClosureType.java index 4a17ae5873c..8d06fab4859 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClosureType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClosureType.java @@ -325,6 +325,8 @@ public class CPPClosureType extends PlatformObject implements ICPPClassType, ICP @Override public boolean isSameType(IType type) { + if (type == null) + return false; if (type == this) return true; if (type instanceof ITypedef || type instanceof IIndexBinding)