From: Todd C. Miller Date: Mon, 2 Feb 2015 22:38:03 +0000 (-0700) Subject: Actually use the check for prior initialization in sudo_getdomainname(). X-Git-Tag: SUDO_1_8_12^2~28 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15717c518eae64774cc8743622f3d842ff74ee9c;p=sudo Actually use the check for prior initialization in sudo_getdomainname(). --- diff --git a/plugins/sudoers/match.c b/plugins/sudoers/match.c index 4de9b127f..03c929302 100644 --- a/plugins/sudoers/match.c +++ b/plugins/sudoers/match.c @@ -916,19 +916,21 @@ sudo_getdomainname(void) static char buf[HOST_NAME_MAX + 1]; static bool initialized; - if (getdomainname(buf, sizeof(buf)) == 0 && buf[0] != '\0') { - char *cp; - - domain = buf; - for (cp = buf; *cp != '\0'; cp++) { - /* Check for illegal characters, Linux may use "(none)". */ - if (*cp == '(' || *cp == ')' || *cp == ',' || *cp == ' ') { - domain = NULL; - break; + if (!initialized) { + if (getdomainname(buf, sizeof(buf)) == 0 && buf[0] != '\0') { + char *cp; + + domain = buf; + for (cp = buf; *cp != '\0'; cp++) { + /* Check for illegal characters, Linux may use "(none)". */ + if (*cp == '(' || *cp == ')' || *cp == ',' || *cp == ' ') { + domain = NULL; + break; + } } } + initialized = true; } - initialized = true; #endif /* HAVE_GETDOMAINNAME */ return domain; }