X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Flogin.c;h=646995b0bcc27cd938c4db78284f51b4510de11e;hb=1340ca8c87d81bf00e604905f25bc04da22e980f;hp=2d6162564ec12b71849290d27b000ea3056d40d9;hpb=081d6d4380968dcbe90f66e31ba51ecce100998a;p=oweals%2Fbusybox.git diff --git a/libbb/login.c b/libbb/login.c index 2d6162564..646995b0b 100644 --- a/libbb/login.c +++ b/libbb/login.c @@ -1,23 +1,12 @@ +/* vi: set sw=4 ts=4: */ /* * issue.c: issue printing code * * Copyright (C) 2003 Bastian Blank * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * * Optimize and correcting OCRNL by Vladimir Oleynik + * + * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ #include /* MAXHOSTNAMELEN */ @@ -37,7 +26,7 @@ void print_login_issue(const char *issue_file, const char *tty) { FILE *fd; int c; - char buf[256]; + char buf[256+1]; const char *outbuf; time_t t; struct utsname uts; @@ -82,8 +71,8 @@ void print_login_issue(const char *issue_file, const char *tty) case 'D': case 'o': - getdomainname(buf, sizeof(buf)); - buf[sizeof(buf) - 1] = '\0'; + c = getdomainname(buf, sizeof(buf) - 1); + buf[c >= 0 ? c : 0] = '\0'; break; case 'd': @@ -120,8 +109,8 @@ void print_login_prompt(void) { char buf[MAXHOSTNAMELEN+1]; - gethostname(buf, MAXHOSTNAMELEN); - fputs(buf, stdout); + if(gethostname(buf, MAXHOSTNAMELEN) == 0) + fputs(buf, stdout); fputs(LOGIN, stdout); fflush(stdout);