]> granicus.if.org Git - sudo/commitdiff
Be careful not to deref user_stat if it is NULL. This cannot currently
authorTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 16 Mar 2011 19:59:50 +0000 (15:59 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Wed, 16 Mar 2011 19:59:50 +0000 (15:59 -0400)
happen in sudo but might in other programs using the parser.

--HG--
branch : 1.7

match.c

diff --git a/match.c b/match.c
index fd63bfbba74ec8470c5ecc895432cf266ef0aa25..ba299e19d94c7bf4d97573530250ad15844310fd 100644 (file)
--- a/match.c
+++ b/match.c
@@ -606,8 +606,9 @@ command_matches_dir(sudoers_dir, dlen)
        if (strcmp(user_base, dent->d_name) != 0 ||
            stat(buf, &sudoers_stat) == -1)
            continue;
-       if (user_stat->st_dev == sudoers_stat.st_dev &&
-           user_stat->st_ino == sudoers_stat.st_ino) {
+       if (user_stat == NULL ||
+           (user_stat->st_dev == sudoers_stat.st_dev &&
+           user_stat->st_ino == sudoers_stat.st_ino)) {
            efree(safe_cmnd);
            safe_cmnd = estrdup(buf);
            break;