stat: fix option -Z segv (bug 1454)
authorDenis Vlasenko <vda.linux@googlemail.com>
Thu, 9 Aug 2007 08:10:13 +0000 (08:10 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Thu, 9 Aug 2007 08:10:13 +0000 (08:10 -0000)
coreutils/stat.c
libbb/make_directory.c

index 9930d847d7f4f12b31f6fddfa5ebecf179daaedf..7c72127c50ffd74f7494f6baa36b282ad715a691 100644 (file)
@@ -342,8 +342,11 @@ static bool do_statfs(char const *filename, char const *format)
        security_context_t scontext = NULL;
 
        if (option_mask32 & OPT_SELINUX) {
-               if ((option_mask32 & OPT_DEREFERENCE ? lgetfilecon(filename, scontext):
-                    getfilecon(filename, scontext))< 0) {
+               if ((option_mask32 & OPT_DEREFERENCE
+                    ? lgetfilecon(filename, &scontext)
+                    : getfilecon(filename, &scontext)
+                   ) < 0
+               ) {
                        bb_perror_msg(filename);
                        return 0;
                }
@@ -448,9 +451,12 @@ static bool do_stat(char const *filename, char const *format)
        security_context_t scontext = NULL;
 
        if (option_mask32 & OPT_SELINUX) {
-               if ((option_mask32 & OPT_DEREFERENCE ? lgetfilecon(filename, scontext):
-                    getfilecon(filename, scontext))< 0) {
-                       bb_perror_msg (filename);
+               if ((option_mask32 & OPT_DEREFERENCE
+                    ? lgetfilecon(filename, &scontext)
+                    : getfilecon(filename, &scontext)
+                   ) < 0
+               ) {
+                       bb_perror_msg(filename);
                        return 0;
                }
        }
index d540ad133dd913a1b1ab7ec42e01602009623c8e..8841c95d3304afc2df98db2e0da25fd11d45fc71 100644 (file)
@@ -98,6 +98,6 @@ int bb_make_directory (char *path, long mode, int flags)
 
        } while (1);
 
-       bb_perror_msg ("cannot %s directory '%s'", fail_msg, path);
+       bb_perror_msg("cannot %s directory '%s'", fail_msg, path);
        return -1;
 }