Skip to content

Commit 61baa05

Browse files
committed
fix #13879
1 parent 11d8176 commit 61baa05

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

lib/importproject.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,17 @@ bool ImportProject::importCompileCommands(std::istream &istr)
359359

360360
for (const picojson::value &fileInfo : compileCommands.get<picojson::array>()) {
361361
picojson::object obj = fileInfo.get<picojson::object>();
362+
363+
if (obj.count("directory") == 0) {
364+
printError("'directory' field in compilation database entry missing");
365+
return false;
366+
}
367+
368+
if (!obj["directory"].is<std::string>()) {
369+
printError("'directory' field in compilation database entry is not a string");
370+
return false;
371+
}
372+
362373
std::string dirpath = Path::fromNativeSeparators(obj["directory"].get<std::string>());
363374

364375
/* CMAKE produces the directory without trailing / so add it if not

0 commit comments

Comments
 (0)