From ru@ucb.crimea.ua  Tue May 19 08:29:55 1998
Received: from relay.ucb.crimea.ua (relay.ucb.crimea.ua [194.93.177.113])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA06623
          for <FreeBSD-gnats-submit@freebsd.org>; Tue, 19 May 1998 08:29:15 -0700 (PDT)
          (envelope-from ru@ucb.crimea.ua)
Received: (from ru@localhost)
	by relay.ucb.crimea.ua (8.8.8/8.8.8) id SAA26629;
	Tue, 19 May 1998 18:28:46 +0300 (EEST)
	(envelope-from ru)
Message-Id: <199805191528.SAA26629@relay.ucb.crimea.ua>
Date: Tue, 19 May 1998 18:28:46 +0300 (EEST)
From: Ruslan Ermilov <ru@ucb.crimea.ua>
Reply-To: ru@ucb.crimea.ua
To: FreeBSD-gnats-submit@freebsd.org
Subject: ppp doesn't close socket in CleanInterface()
X-Send-Pr-Version: 3.2

>Number:         6690
>Category:       bin
>Synopsis:       ppp doesn't close socket in CleanInterface()
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 19 08:30:02 PDT 1998
>Closed-Date:    Tue May 19 14:52:26 PDT 1998
>Last-Modified:  Tue May 19 14:54:20 PDT 1998
>Originator:     Ruslan Ermilov
>Release:        FreeBSD 2.2.6-STABLE i386
>Organization:
United Commercial Bank
>Environment:

	-stable as of today

>Description:

	Socket is opened and not closed in CleanInterface()

>How-To-Repeat:

	Run ``ppp -direct'' (don't know if this affects other modes),
	and run ``fstat -p <pid>''.

>Fix:

	Apply the following patch:
	
Index: os.c
===================================================================
RCS file: /usr/FreeBSD-CVS/src/usr.sbin/ppp/os.c,v
retrieving revision 1.7.2.16
diff -u -r1.7.2.16 os.c
--- os.c	1998/01/26 20:05:04	1.7.2.16
+++ os.c	1998/05/19 15:15:53
@@ -183,6 +183,7 @@
         LogPrintf(LogERROR, "tun_configure: Can't get dst for %s on %s !\n",
                   inet_ntoa(((struct sockaddr_in *)&ifra.ifra_addr)->sin_addr),
                   name);
+      close(s);
       return 0;
     }
     ifra.ifra_broadaddr = ifrq.ifr_dstaddr;
@@ -191,10 +192,12 @@
         LogPrintf(LogERROR, "tun_configure: Can't delete %s address on %s !\n",
                   inet_ntoa(((struct sockaddr_in *)&ifra.ifra_addr)->sin_addr),
                   name);
+      close(s);
       return 0;
     }
   }
 
+  close(s);
   return 1;
 }
 
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: brian 
State-Changed-When: Tue May 19 14:52:26 PDT 1998 
State-Changed-Why:  
Fixed (patch applied) - thanks. 
>Unformatted:
