From eac2c55c31316598850b79c020e779eff0e874b3 Mon Sep 17 00:00:00 2001 From: landley Date: Mon, 20 Feb 2006 16:31:44 +0000 Subject: getdomainname() isn't guaranteed to null terminate the string if it was truncated for length. SVN 14135 made sure that the truncated version would always be null terminated. SVN 14144 broke this for no readily apparent reason, and I have no idea what it was even trying to accomplish. Reverted. git-svn-id: svn://busybox.net/trunk/busybox@14147 69ca8d6d-28ef-0310-b511-8ec308f3f277 --- libbb/login.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libbb/login.c b/libbb/login.c index 98799dc49..2d6162564 100644 --- a/libbb/login.c +++ b/libbb/login.c @@ -37,7 +37,7 @@ void print_login_issue(const char *issue_file, const char *tty) { FILE *fd; int c; - char buf[256+2]; + char buf[256]; const char *outbuf; time_t t; struct utsname uts; @@ -82,8 +82,8 @@ void print_login_issue(const char *issue_file, const char *tty) case 'D': case 'o': - buf[0] = '\0'; - getdomainname(buf, sizeof(buf) - 1); + getdomainname(buf, sizeof(buf)); + buf[sizeof(buf) - 1] = '\0'; break; case 'd': @@ -95,8 +95,8 @@ void print_login_issue(const char *issue_file, const char *tty) break; case 'h': - buf[0] = '\0'; gethostname(buf, sizeof(buf) - 1); + buf[sizeof(buf) - 1] = '\0'; break; case 'l': @@ -120,8 +120,8 @@ void print_login_prompt(void) { char buf[MAXHOSTNAMELEN+1]; - if(gethostname(buf, MAXHOSTNAMELEN) == 0) - fputs(buf, stdout); + gethostname(buf, MAXHOSTNAMELEN); + fputs(buf, stdout); fputs(LOGIN, stdout); fflush(stdout); -- cgit v1.2.3-55-g6feb