[BACK]Return to monitor_wrap.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/monitor_wrap.c between version 1.61 and 1.62

version 1.61, 2008/05/08 12:02:23 version 1.62, 2008/05/08 12:21:16
Line 654 
Line 654 
 {  {
         Buffer m;          Buffer m;
         char *p, *msg;          char *p, *msg;
         int success = 0;          int success = 0, tmp1 = -1, tmp2 = -1;
   
           /* Kludge: ensure there are fds free to receive the pty/tty */
           if ((tmp1 = dup(pmonitor->m_recvfd)) == -1 ||
               (tmp2 = dup(pmonitor->m_recvfd)) == -1) {
                   error("%s: cannot allocate fds for pty", __func__);
                   if (tmp1 > 0)
                           close(tmp1);
                   if (tmp2 > 0)
                           close(tmp2);
                   return 0;
           }
           close(tmp1);
           close(tmp2);
   
         buffer_init(&m);          buffer_init(&m);
         mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PTY, &m);          mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_PTY, &m);
   
Line 699 
Line 712 
         buffer_free(&m);          buffer_free(&m);
   
         /* closed dup'ed master */          /* closed dup'ed master */
         if (close(s->ptymaster) < 0)          if (s->ptymaster != -1 && close(s->ptymaster) < 0)
                 error("close(s->ptymaster): %s", strerror(errno));                  error("close(s->ptymaster/%d): %s",
                       s->ptymaster, strerror(errno));
   
         /* unlink pty from session */          /* unlink pty from session */
         s->ttyfd = -1;          s->ttyfd = -1;

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.62