[2848] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

pty/520: rlogin fails due to pty_getpty() bug

daemon@ATHENA.MIT.EDU (kenstir@senteinc.com)
Tue Dec 30 15:03:51 1997

Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: hartmans@MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, kcox@senteinc.com
Date: Tue, 30 Dec 1997 15:01:44 -0500
From: kenstir@senteinc.com
Reply-To: kcox@senteinc.com
To: krb5-bugs@MIT.EDU


>Number:         520
>Category:       pty
>Synopsis:       rlogin fails due to pty_getpty() bug
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    hartmans
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Tue Dec 30 15:02:01 EST 1997
>Last-Modified:
>Originator:     Ken Cox
>Organization:
--
Kenneth H. Cox
Software Guy
Sente, Inc.
>Release:        krb5-1.0.4
>Environment:
System: Linux kinsman.senteinc.com 2.0.30 #1 Wed Jun 4 15:02:33 EDT 1997 i586 unknown
Architecture: i586

>Description:
	The klogind daemon was failing in pty_getpty() because it was
trying to open ptys with names of "/dev/ptyXp0".  Here is a patch which
fixes the problem.
        Oddly enough, this bug was not present in the krb5-1.0pl1 release.

>How-To-Repeat:
	
>Fix:

--- util/pty/getpty.c.dist	Thu Dec  4 22:47:37 1997
+++ util/pty/getpty.c	Tue Dec 30 14:43:32 1997
@@ -111,8 +111,10 @@
     } else {
     	for (cp = "pqrstuvwxyzPQRST";*cp; cp++) {
 	    sprintf(slavebuf,"/dev/ptyXX");
-	    slavebuf[sizeof("/dev/pty")] = *cp;
-	    slavebuf[sizeof("/dev/ptyp")] = '0';
+	    /*slavebuf[sizeof("/dev/pty")] = *cp;*/
+	    slavebuf[sizeof("/dev/pty") - 1] = *cp; /* 12/30/97 kenstir */
+	    /*slavebuf[sizeof("/dev/ptyp")] = '0';*/
+	    slavebuf[sizeof("/dev/ptyp") - 1] = '0'; /* 12/30/97 kenstir */
 	    if (stat(slavebuf, &stb) < 0)
 		break;
 	    for (i = 0; i < 16; i++) {
>Audit-Trail:
>Unformatted:

home help back first fref pref prev next nref lref last post