From 8faf432499ba9ae9bcd6f91e5b20b42cf0e335f3 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Mon, 4 Dec 2023 09:21:56 -0700 Subject: [PATCH] Fall back to "localhost" if gethostname() fails. GitHub issue #332 --- plugins/sudoers/sethost.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/sudoers/sethost.c b/plugins/sudoers/sethost.c index bfbb69ff8..37545a6ea 100644 --- a/plugins/sudoers/sethost.c +++ b/plugins/sudoers/sethost.c @@ -23,6 +23,7 @@ #include +#include #include #include #include @@ -47,10 +48,13 @@ sudoers_sethost(struct sudoers_context *ctx, const char *host, ctx->user.host = NULL; ctx->user.shost = NULL; - if (host == NULL) + if (host == NULL) { ctx->user.host = sudo_gethostname(); - else + if (ctx->user.host == NULL && errno != ENOMEM) + ctx->user.host = strdup("localhost"); + } else { ctx->user.host = strdup(host); + } if (ctx->user.host == NULL) goto oom; if ((cp = strchr(ctx->user.host, '.')) != NULL) {