]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Set umask early since ccache_main() may create files/directories
authorJoel Rosdahl <joel@rosdahl.net>
Wed, 10 Mar 2010 20:37:31 +0000 (21:37 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Wed, 10 Mar 2010 20:37:31 +0000 (21:37 +0100)
ccache.c

index 883493801ae1d74ed4f2e8af90abc5c7a3ef34b3..9cbf42bf86d6e7c3771f6a599a51fcc93d92d38e 100644 (file)
--- a/ccache.c
+++ b/ccache.c
@@ -1789,6 +1789,17 @@ int main(int argc, char *argv[])
        char *p;
        char *program_name;
 
+       /* the user might have set CCACHE_UMASK */
+       p = getenv("CCACHE_UMASK");
+       if (p) {
+               mode_t mask;
+               errno = 0;
+               mask = strtol(p, NULL, 8);
+               if (errno == 0) {
+                       umask(mask);
+               }
+       }
+
        current_working_dir = get_cwd();
        cache_dir = getenv("CCACHE_DIR");
        if (!cache_dir) {
@@ -1835,17 +1846,6 @@ int main(int argc, char *argv[])
 
        setup_uncached_err();
 
-       /* the user might have set CCACHE_UMASK */
-       p = getenv("CCACHE_UMASK");
-       if (p) {
-               mode_t mask;
-               errno = 0;
-               mask = strtol(p, NULL, 8);
-               if (errno == 0) {
-                       umask(mask);
-               }
-       }
-
        /* make sure the cache dir exists */
        if (create_dir(cache_dir) != 0) {
                fprintf(stderr,"ccache: failed to create %s (%s)\n",