From fde79c46fb93bb98bc5130253e4455cecb86d129 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Fri, 7 Aug 2009 13:25:22 +0000 Subject: [PATCH] Close dir before returning if strlcpy() reports overflow. From Martynas Venckus. --- match.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/match.c b/match.c index 269861d7c..8d80085cd 100644 --- a/match.c +++ b/match.c @@ -580,8 +580,10 @@ command_matches_dir(sudoers_dir, dlen) if (dirp == NULL) return(FALSE); - if (strlcpy(buf, sudoers_dir, sizeof(buf)) >= sizeof(buf)) + if (strlcpy(buf, sudoers_dir, sizeof(buf)) >= sizeof(buf)) { + closedir(dirp); return(FALSE); + } while ((dent = readdir(dirp)) != NULL) { /* ignore paths > PATH_MAX (XXX - log) */ buf[dlen] = '\0';