From db8cdd35b6cd277fa8ca2f2cc7057603fbc6a302 Mon Sep 17 00:00:00 2001 From: James Y Knight Date: Thu, 31 Dec 2015 06:01:19 +0000 Subject: [TrailingObjects] Fix bug in "Convert classes in ExprObjC.h" (Detected by asan) llvm-svn: 256665 --- clang/lib/AST/ExprObjC.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'clang/lib/AST') diff --git a/clang/lib/AST/ExprObjC.cpp b/clang/lib/AST/ExprObjC.cpp index 0b6bfcd6006..0936a81a597 100644 --- a/clang/lib/AST/ExprObjC.cpp +++ b/clang/lib/AST/ExprObjC.cpp @@ -59,7 +59,8 @@ ObjCDictionaryLiteral::ObjCDictionaryLiteral(ArrayRef VK, NumElements(VK.size()), HasPackExpansions(HasPackExpansions), Range(SR), DictWithObjectsMethod(method) { KeyValuePair *KeyValues = getTrailingObjects(); - ExpansionData *Expansions = getTrailingObjects(); + ExpansionData *Expansions = + HasPackExpansions ? getTrailingObjects() : nullptr; for (unsigned I = 0; I < NumElements; I++) { if (VK[I].Key->isTypeDependent() || VK[I].Key->isValueDependent() || VK[I].Value->isTypeDependent() || VK[I].Value->isValueDependent()) -- cgit v1.2.1