[netatalk-admins] a few memory/file leaks plugged


Subject: [netatalk-admins] a few memory/file leaks plugged
From: a sun (asun@zoology.washington.edu)
Date: Tue Aug 26 1997 - 13:05:34 EDT


here's a patch against 1.4b2 that fixes a couple potential memory
leaks. it'll be in my a15 patchset as well. as an aside, i noticed
this when i ran afpd without atalkd and saw that it still had an open
ddp socket.

--- netatalk-1.4b2/libatalk/atp/atp_close.c.save Tue Aug 26 09:59:26 1997
+++ netatalk-1.4b2/libatalk/atp/atp_close.c Tue Aug 26 10:01:22 1997
@@ -42,9 +42,7 @@
     print_bufuse( ah, "atp_close");
 #endif EBUG
 
- if ( close( ah->atph_socket ) < 0 ) {
- return -1;
- }
+ close( ah->atph_socket );
 
     while ( ah->atph_queue != NULL ) {
         cq = ah->atph_queue;
--- netatalk-1.4b2/libatalk/atp/atp_open.c.save Tue Aug 26 09:59:31 1997
+++ netatalk-1.4b2/libatalk/atp/atp_open.c Tue Aug 26 10:01:02 1997
@@ -46,6 +46,7 @@
     }
 
     if (( atp = (ATP) alloc_buf()) == NULL ) {
+ close(s);
         return 0;
     }
 
@@ -62,11 +63,15 @@
     if ( bind( s, (struct sockaddr *) &atp->atph_saddr,
             sizeof( struct sockaddr_at )) != 0 ) {
         free_buf( (struct atp_buf *)atp );
+ close(s);
         return NULL;
     }
     /* get the real address from the kernel */
     nlen = sizeof( struct sockaddr_at);
     if ( getsockname( s, (struct sockaddr *) &atp->atph_saddr, &nlen ) != 0 ) {
+ free_buf( (struct atp_buf *)atp );
+ close(s);
+
         return NULL;
     }
     atp->atph_socket = s;
--- netatalk-1.4b2/libatalk/asp/asp_close.c.save Tue Aug 26 09:58:41 1997
+++ netatalk-1.4b2/libatalk/asp/asp_close.c Tue Aug 26 09:59:18 1997
@@ -42,12 +42,8 @@
     atpb.atp_sresiov = iov;
     atpb.atp_sresiovcnt = 1;
 
- if ( atp_sresp( asp->asp_atp, &atpb ) < 0 ) {
- return( -1 );
- }
- if ( atp_close( asp->asp_atp ) < 0 ) {
- return( -1 );
- }
+ atp_sresp( asp->asp_atp, &atpb );
+ atp_close( asp->asp_atp );
     free( asp );
     return( 0 );
 }



This archive was generated by hypermail 2b28 : Sat Dec 18 1999 - 16:26:23 EST