stop readdir parsing crashing

This commit is contained in:
Chris Young 2012-06-09 18:58:11 +01:00
parent 327fb51cec
commit 7d1983ebc2

View File

@ -482,9 +482,14 @@ int git_path_cmp(
/* Taken from git.git */
GIT_INLINE(int) is_dot_or_dotdot(const char *name)
{
#ifdef __amigaos4__
/* This is irrelevant on AmigaOS */
return 0;
#else
return (name[0] == '.' &&
(name[1] == '\0' ||
(name[1] == '.' && name[2] == '\0')));
#endif
}
int git_path_direach(
@ -512,7 +517,11 @@ int git_path_direach(
de_buf = git__malloc(sizeof(struct dirent));
#endif
#ifdef __amigaos4__
while (de = readdir(dir)) {
#else
while (p_readdir_r(dir, de_buf, de) == 0 && de != NULL) {
#endif
int result;
if (is_dot_or_dotdot(de->d_name))