fix some leaks

This commit is contained in:
Edward Thomson 2013-05-02 17:22:13 -05:00
parent 42b2bcf038
commit d80416384f
5 changed files with 11 additions and 5 deletions

View File

@ -716,7 +716,7 @@ static int diff_scan_inside_untracked_dir(
error = git_iterator_advance(&info->nitem, info->new_iter);
}
return error;
goto done;
}
/* look for actual untracked file */
@ -747,6 +747,7 @@ static int diff_scan_inside_untracked_dir(
break;
}
done:
git_buf_free(&base);
return error;

View File

@ -349,6 +349,7 @@ static void index_free(git_index *index)
{
git_index_clear(index);
git_vector_free(&index->entries);
git_vector_free(&index->names);
git_vector_free(&index->reuc);
git__free(index->index_file_path);

View File

@ -23,10 +23,16 @@ int git_smart__store_refs(transport_smart *t, int flushes)
int error, flush = 0, recvd;
const char *line_end;
git_pkt *pkt;
git_pkt_ref *ref;
size_t i;
/* Clear existing refs in case git_remote_connect() is called again
* after git_remote_disconnect().
*/
git_vector_foreach(refs, i, ref) {
git__free(ref->head.name);
git__free(ref);
}
git_vector_clear(refs);
do {

View File

@ -386,10 +386,6 @@ This commit has a few LF at the start of the commit message";
\n\
This commit has a few LF at the start of the commit message";
commit = (git_commit*)git__malloc(sizeof(git_commit));
memset(commit, 0x0, sizeof(git_commit));
commit->object.repo = g_repo;
cl_git_pass(parse_commit(&commit, buffer));
cl_assert_equal_s(message, git_commit_message(commit));
git_commit__free(commit);

View File

@ -409,4 +409,6 @@ void test_submodule_status__untracked_dirs_containing_ignored_files(void)
GIT_SUBMODULE_STATUS_IN_WD;
cl_assert(status == expected);
git_buf_free(&path);
}