]> granicus.if.org Git - shadow/commitdiff
From: Svante Signell <svante.signell@gmail.com>
authorSerge Hallyn <serge.hallyn@ubuntu.com>
Thu, 26 Jun 2014 21:48:56 +0000 (16:48 -0500)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Thu, 26 Jun 2014 21:48:56 +0000 (16:48 -0500)
Currently shadow fails to build from source and is flagged as
out-of-date. This is due to a usage of PATH_MAX, which is not defined
on GNU/Hurd. The attached patch solves this problem by allocating a
fixed number of 32 bytes for the string proc_dir_name in files
src/procuidmap.c and src/procgidmap.c. (In fact only 18 bytes are
needed)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
src/newgidmap.c
src/newuidmap.c

index 1527a615356fc874b4bb3df142d212eedb2e547a..a532b457274d4bbcc9f8f1f7537ae81161efc204 100644 (file)
@@ -94,7 +94,7 @@ static void usage(void)
  */
 int main(int argc, char **argv)
 {
-       char proc_dir_name[PATH_MAX];
+       char proc_dir_name[32];
        char *target_str;
        pid_t target, parent;
        int proc_dir_fd;
@@ -120,6 +120,7 @@ int main(int argc, char **argv)
        if (!get_pid(target_str, &target))
                usage();
 
+       /* max string length is 6 + 10 + 1 + 1 = 18, allocate 32 bytes */
        written = snprintf(proc_dir_name, sizeof(proc_dir_name), "/proc/%u/",
                target);
        if ((written <= 0) || (written >= sizeof(proc_dir_name))) {
index 69c50940d29aaa95e9bb5fd6818dc0318adfbec5..5150078ba50553b36b30c68b96007bcd2234e5eb 100644 (file)
@@ -94,7 +94,7 @@ void usage(void)
  */
 int main(int argc, char **argv)
 {
-       char proc_dir_name[PATH_MAX];
+       char proc_dir_name[32];
        char *target_str;
        pid_t target, parent;
        int proc_dir_fd;
@@ -120,6 +120,7 @@ int main(int argc, char **argv)
        if (!get_pid(target_str, &target))
                usage();
 
+       /* max string length is 6 + 10 + 1 + 1 = 18, allocate 32 bytes */
        written = snprintf(proc_dir_name, sizeof(proc_dir_name), "/proc/%u/",
                target);
        if ((written <= 0) || (written >= sizeof(proc_dir_name))) {