Fix some memory leaks found by the static analyzer. Thanks to John Smith for running it over Clang.

llvm-svn: 159732
This commit is contained in:
Richard Smith 2012-07-05 08:20:49 +00:00
parent 78a3bbc82c
commit 1ea42eb5a3
1 changed files with 8 additions and 3 deletions

View File

@ -157,6 +157,7 @@ int parse_remapped_files(int argc, const char **argv, int start_arg,
(feof(to_file) ? "EOF" : "error"), semi + 1);
fclose(to_file);
free_remapped_files(*unsaved_files, i);
free(contents);
*unsaved_files = 0;
*num_unsaved_files = 0;
return -1;
@ -2281,8 +2282,10 @@ int perform_token_annotation(int argc, const char **argv) {
&second_line, &second_column)))
return errorCode;
if (parse_remapped_files(argc, argv, 2, &unsaved_files, &num_unsaved_files))
if (parse_remapped_files(argc, argv, 2, &unsaved_files, &num_unsaved_files)) {
free(filename);
return -1;
}
CIdx = clang_createIndex(0, 1);
TU = clang_parseTranslationUnit(CIdx, argv[argc - 1],
@ -2300,8 +2303,10 @@ int perform_token_annotation(int argc, const char **argv) {
}
errorCode = 0;
if (checkForErrors(TU) != 0)
return -1;
if (checkForErrors(TU) != 0) {
errorCode = -1;
goto teardown;
}
if (getenv("CINDEXTEST_EDITING")) {
for (i = 0; i < 5; ++i) {