Commit 855f06606dce01cdeab8f74a99e55a7d13ba784e

schu 2011-09-17T17:28:39

status.c: add missing check for error dirent_cb() didn't check the return value of determine_status(). Signed-off-by: schu <schu-github@schulog.org>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/status.c b/src/status.c
index b93ea70..18e08fb 100644
--- a/src/status.c
+++ b/src/status.c
@@ -411,7 +411,8 @@ static int dirent_cb(void *state, char *a)
 		pa = ((cmpma >= 0) && (cmpai <= 0)) ? a_name : NULL;
 		pi = ((cmpmi >= 0) && (cmpai >= 0)) ? i_name : NULL;
 
-		error = determine_status(st, pm != NULL, pi != NULL, pa != NULL, m, entry, a, status_path(pm, pi, pa), path_type);
+		if((error = determine_status(st, pm != NULL, pi != NULL, pa != NULL, m, entry, a, status_path(pm, pi, pa), path_type)) < GIT_SUCCESS)
+			return git__rethrow(error, "An error occured while determining the status of '%s'", a);
 
 		if (pa != NULL)
 			return GIT_SUCCESS;