From owner-freebsd-bugs@FreeBSD.ORG Tue May 31 09:30:06 2005 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 597D016A41C for ; Tue, 31 May 2005 09:30:06 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3418C43D1F for ; Tue, 31 May 2005 09:30:06 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j4V9U5ii095097 for ; Tue, 31 May 2005 09:30:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j4V9U5RF095094; Tue, 31 May 2005 09:30:05 GMT (envelope-from gnats) Date: Tue, 31 May 2005 09:30:05 GMT Message-Id: <200505310930.j4V9U5RF095094@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Rostislav Krasny Cc: Subject: Re: bin/75001 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Rostislav Krasny List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2005 09:30:06 -0000 The following reply was made to PR bin/75001; it has been noted by GNATS. From: Rostislav Krasny To: Maxim Konovalov Cc: bug-followup@freebsd.org Subject: Re: bin/75001 Date: Tue, 31 May 2005 12:16:09 +0200 This is a multi-part message in MIME format. --------------050207050407070605070907 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Maxim Konovalov wrote: > Am I right you missed login_close(lc_user) call near the line 592? Yes, you are absolutely right. New diff is attached to this email. --------------050207050407070605070907 Content-Type: text/plain; name="login.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="login.diff" diff -ur login.orig/login.c /usr/src/usr.bin/login/login.c --- login.orig/login.c Mon Jan 26 22:04:47 2004 +++ /usr/src/usr.bin/login/login.c Tue May 31 10:56:34 2005 @@ -171,6 +171,7 @@ const char *tp; const char *shell = NULL; login_cap_t *lc = NULL; + login_cap_t *lc_user = NULL; pid_t pid; (void)signal(SIGQUIT, SIG_IGN); @@ -354,8 +355,10 @@ * Establish the login class. */ lc = login_getpwclass(pwd); + lc_user = login_getuserclass(pwd); - quietlog = login_getcapbool(lc, "hushlogin", 0); + if (!(quietlog = login_getcapbool(lc_user, "hushlogin", 0))) + quietlog = login_getcapbool(lc, "hushlogin", 0); /* * Switching needed for NFS with root access disabled. @@ -568,7 +571,8 @@ else motd(_PATH_MOTDFILE); - if (login_getcapbool(lc, "nocheckmail", 0) == 0) { + if (login_getcapbool(lc_user, "nocheckmail", 0) == 0 && + login_getcapbool(lc, "nocheckmail", 0) == 0) { char *cx; /* $MAIL may have been set by class. */ @@ -585,6 +589,7 @@ } } + login_close(lc_user); login_close(lc); (void)signal(SIGALRM, SIG_DFL); --------------050207050407070605070907--