- (djm) Use ttyname() to determine name of tty returned by openpty()
rather then risking overflow. Patch from Marek Michalkiewicz <marekm@amelek.gda.pl>
This commit is contained in:
parent
b3ffc5f1d4
commit
99e924357e
|
@ -9,6 +9,9 @@
|
|||
Miskiewicz <misiek@pld.ORG.PL>
|
||||
- (djm) Robustify EGD/PRNGd code in face of socket closures. Patch from
|
||||
Todd C. Miller <Todd.Miller@courtesan.com>
|
||||
- (djm) Use ttyname() to determine name of tty returned by openpty()
|
||||
rather then risking overflow. Patch from Marek Michalkiewicz
|
||||
<marekm@amelek.gda.pl>
|
||||
|
||||
20010217
|
||||
- (bal) OpenBSD Sync:
|
||||
|
@ -4016,4 +4019,4 @@
|
|||
- Wrote replacements for strlcpy and mkdtemp
|
||||
- Released 1.0pre1
|
||||
|
||||
$Id: ChangeLog,v 1.787 2001/02/18 01:44:29 djm Exp $
|
||||
$Id: ChangeLog,v 1.788 2001/02/18 01:49:35 djm Exp $
|
||||
|
|
10
pty.c
10
pty.c
|
@ -49,15 +49,19 @@ pty_allocate(int *ptyfd, int *ttyfd, char *namebuf, int namebuflen)
|
|||
{
|
||||
#if defined(HAVE_OPENPTY) || defined(BSD4_4)
|
||||
/* openpty(3) exists in OSF/1 and some other os'es */
|
||||
char buf[64];
|
||||
char *name;
|
||||
int i;
|
||||
|
||||
i = openpty(ptyfd, ttyfd, buf, NULL, NULL);
|
||||
i = openpty(ptyfd, ttyfd, NULL, NULL, NULL);
|
||||
if (i < 0) {
|
||||
error("openpty: %.100s", strerror(errno));
|
||||
return 0;
|
||||
}
|
||||
strlcpy(namebuf, buf, namebuflen); /* possible truncation */
|
||||
name = ttyname(*ttyfd);
|
||||
if (!name)
|
||||
fatal("openpty returns device for which ttyname fails.");
|
||||
|
||||
strlcpy(namebuf, name, namebuflen); /* possible truncation */
|
||||
return 1;
|
||||
#else /* HAVE_OPENPTY */
|
||||
#ifdef HAVE__GETPTY
|
||||
|
|
Loading…
Reference in New Issue