diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2014-02-12 14:17:58 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2014-02-12 14:17:58 +0000 |
commit | 371c217b3f47c8e06dfbc7a86882e60d5059bba9 (patch) | |
tree | 80d447ce03a0ed45425c366731a81bf6f43799cf /clang/tools/libclang/CIndexDiagnostic.cpp | |
parent | 254c7636cf4068b6bffa195e5a1ef2ccdb478f06 (diff) | |
download | bcm5719-llvm-371c217b3f47c8e06dfbc7a86882e60d5059bba9.tar.gz bcm5719-llvm-371c217b3f47c8e06dfbc7a86882e60d5059bba9.zip |
libclang: fix a crash in clang_disposeDiagnosticSet when it is passed a NULL argument
llvm-svn: 201236
Diffstat (limited to 'clang/tools/libclang/CIndexDiagnostic.cpp')
-rw-r--r-- | clang/tools/libclang/CIndexDiagnostic.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/tools/libclang/CIndexDiagnostic.cpp b/clang/tools/libclang/CIndexDiagnostic.cpp index 0c327f611a2..d3450d5dece 100644 --- a/clang/tools/libclang/CIndexDiagnostic.cpp +++ b/clang/tools/libclang/CIndexDiagnostic.cpp @@ -450,9 +450,10 @@ CXString clang_getDiagnosticFixIt(CXDiagnostic Diag, unsigned FixIt, } void clang_disposeDiagnosticSet(CXDiagnosticSet Diags) { - CXDiagnosticSetImpl *D = static_cast<CXDiagnosticSetImpl*>(Diags); - if (D->isExternallyManaged()) - delete D; + if (CXDiagnosticSetImpl *D = static_cast<CXDiagnosticSetImpl *>(Diags)) { + if (D->isExternallyManaged()) + delete D; + } } CXDiagnostic clang_getDiagnosticInSet(CXDiagnosticSet Diags, |