TU is not guaranteed to be initialised in all cases. In particular if CIdx or
ast_filename is NULL (or if &TU is NULL), then clang_createTranslationUnit2 will
not initialise the out parameter out_TU. This is followed by an assertion check
which may perform a branch based on unitialised memory.
Caught by scan-build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201628
91177308-0d34-0410-b5e6-
96231b3b80d8
CXTranslationUnit clang_createTranslationUnit(CXIndex CIdx,
const char *ast_filename) {
- CXTranslationUnit TU;
+ CXTranslationUnit TU = NULL;
enum CXErrorCode Result =
clang_createTranslationUnit2(CIdx, ast_filename, &TU);
(void)Result;