From: Ondřej Surý Date: Fri, 17 Apr 2026 14:28:50 +0000 (+0200) Subject: Fix inverted gethostname() check in rndc status X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7859247df222fa17a0ad52f8ce87816e06984ec;p=thirdparty%2Fbind9.git Fix inverted gethostname() check in rndc status When named_os_gethostname() was replaced with raw gethostname(), the success/failure polarity was flipped: the fallback to "localhost" now runs on success and the hostname buffer is left uninitialized on failure. In the failure path, snprintf() then reads the uninitialized stack buffer, disclosing stack contents via the rndc status reply. --- diff --git a/bin/named/server.c b/bin/named/server.c index 2321ba6250d..bb706af60cb 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -11599,7 +11599,7 @@ named_server_status(named_server_t *server, isc_buffer_t *text) { cb); CHECK(putstr(text, line)); - if (gethostname(hostname, sizeof(hostname)) == 0) { + if (gethostname(hostname, sizeof(hostname)) != 0) { strlcpy(hostname, "localhost", sizeof(hostname)); } snprintf(line, sizeof(line), "running on %s: %s\n", hostname,