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) {