aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorGravatar Rob Landley <rob@landley.net>2006-02-20 16:31:44 +0000
committerGravatar Rob Landley <rob@landley.net>2006-02-20 16:31:44 +0000
commit081d6d4380968dcbe90f66e31ba51ecce100998a (patch)
tree5210a3650324d0093bca21b9755d58b04ba220ce /libbb
parentb4ec339ac2959b2ec7d403be96efe026b0386ace (diff)
downloadbusybox-081d6d4380968dcbe90f66e31ba51ecce100998a.tar.gz
busybox-081d6d4380968dcbe90f66e31ba51ecce100998a.tar.bz2
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.
Diffstat (limited to 'libbb')
-rw-r--r--libbb/login.c12
1 files 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);