]> granicus.if.org Git - sudo/commitdiff
fix strlcpy() rval check (innocuous)
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 1 Apr 2003 15:02:49 +0000 (15:02 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 1 Apr 2003 15:02:49 +0000 (15:02 +0000)
sudo.c
testsudoers.c

diff --git a/sudo.c b/sudo.c
index e5863de1b649e7082ac1f5fab17cbf8e7812a822..1c56960c820c6cfe498238a2cec38c8c182d0342 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -613,7 +613,7 @@ init_vars(sudo_mode)
            user_args = (char *) emalloc(size);
            for (to = user_args, from = NewArgv + 1; *from; from++) {
                n = strlcpy(to, *from, size - (to - user_args));
-               if (n >= size) {
+               if (n >= size - (to - user_args)) {
                    (void) fprintf(stderr,
                        "%s: internal error, init_vars() overflow\n", Argv[0]);
                    exit(1);
index f9d59be82a2552eb6b8df69de296c39fd9b426c0..79cfa12cd437a216e2fc7d743a0d9cd4f766c1eb 100644 (file)
@@ -385,7 +385,7 @@ main(argc, argv)
        user_args = (char *) emalloc(size);
        for (to = user_args, from = NewArgv + 1; *from; from++) {
            n = strlcpy(to, *from, size - (to - user_args));
-           if (n >= size) {
+           if (n >= size - (to - user_args)) {
                (void) fprintf(stderr,
                    "%s: internal error, init_vars() overflow\n", Argv[0]);
                exit(1);