Add corner case tests for diff-index and diff-files
[gitweb.git] / path.c
diff --git a/path.c b/path.c
index 42609524a55ad017557d48bedf26906cc4405d0a..f4ed979997b6a968ba1987a199beae39035d5da2 100644 (file)
--- a/path.c
+++ b/path.c
@@ -283,7 +283,7 @@ int adjust_shared_perm(const char *path)
                            ? (S_IXGRP|S_IXOTH)
                            : 0));
        if (S_ISDIR(mode))
-               mode |= S_ISGID;
+               mode |= FORCE_DIR_SET_GID;
        if ((mode & st.st_mode) != mode && chmod(path, mode) < 0)
                return -2;
        return 0;
@@ -311,8 +311,10 @@ const char *make_absolute_path(const char *path)
                        if (last_slash) {
                                *last_slash = '\0';
                                last_elem = xstrdup(last_slash + 1);
-                       } else
+                       } else {
                                last_elem = xstrdup(buf);
+                               *buf = '\0';
+                       }
                }
 
                if (*buf) {