Commit 4bc3de07 authored by Mark Andrews's avatar Mark Andrews
Browse files

Resize unamebuf[] to avoid warnings about snprintf() not having

enough buffer space.  Also change named_os_uname() prototype so
that it is now returning (const char *) rather than (char *).  If
uname() is not supported on a UNIX build prepopulate unamebuf[]
with "unknown architecture".
parent 1844b47e
Pipeline #45184 failed with stages
in 22 minutes and 55 seconds
......@@ -73,7 +73,7 @@ named_os_tzset(void);
void
named_os_started(void);
char *
const char *
named_os_uname(void);
#endif /* NAMED_OS_H */
......@@ -903,8 +903,12 @@ named_os_tzset(void) {
#endif /* ifdef HAVE_TZSET */
}
static char unamebuf[BUFSIZ];
static char *unamep = NULL;
#ifdef HAVE_UNAME
static char unamebuf[sizeof(struct utsname)];
#else
static const char unamebuf[] = { "unknown architecture" };
#endif
static const char *unamep = NULL;
static void
getuname(void) {
......@@ -919,13 +923,11 @@ getuname(void) {
snprintf(unamebuf, sizeof(unamebuf), "%s %s %s %s", uts.sysname,
uts.machine, uts.release, uts.version);
#else /* ifdef HAVE_UNAME */
snprintf(unamebuf, sizeof(unamebuf), "unknown architecture");
#endif /* ifdef HAVE_UNAME */
unamep = unamebuf;
}
char *
const char *
named_os_uname(void) {
if (unamep == NULL) {
getuname();
......
......@@ -70,7 +70,7 @@ named_os_tzset(void);
void
named_os_started(void);
char *
const char *
named_os_uname(void);
#endif /* NAMED_OS_H */
......@@ -393,7 +393,7 @@ named_os_started(void) {
}
static char unamebuf[BUFSIZ];
static char *unamep = NULL;
static const char *unamep = NULL;
static void
getuname(void) {
......@@ -462,7 +462,7 @@ err:
* GetVersionEx() returns 6.2 (aka Windows 8.1) since it was obsoleted
* so we had to switch to the recommended way to get the Windows version.
*/
char *
const char *
named_os_uname(void) {
if (unamep == NULL) {
getuname();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment