status: Prevent segfaulting when determining the status of a repository

Fixes #465
This commit is contained in:
nulltoken 2011-10-29 17:40:04 +02:00
parent 3286c408ec
commit d1db74bf57

View File

@ -183,8 +183,9 @@ static int process_folder(struct status_st *st, const git_tree_entry *tree_entry
git_object *subtree = NULL;
git_tree *pushed_tree = NULL;
int error, pushed_tree_position = 0;
git_otype tree_entry_type;
git_otype tree_entry_type = GIT_OBJ_BAD;
if (tree_entry != NULL) {
tree_entry_type = git_tree_entry_type(tree_entry);
switch (tree_entry_type) {
@ -204,6 +205,7 @@ static int process_folder(struct status_st *st, const git_tree_entry *tree_entry
default:
error = git__throw(GIT_EINVALIDTYPE, "Unexpected tree entry type"); /* TODO: How should we deal with submodules? */
}
}
if (full_path != NULL && path_type == GIT_STATUS_PATH_FOLDER)
error = alphasorted_futils_direach(full_path, GIT_PATH_MAX, dirent_cb, st);