[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-1129-g0cbb874

Michael Adam obnox at samba.org
Fri Feb 29 01:24:16 GMT 2008


The branch, v4-0-test has been updated
       via  0cbb87453beb52c6b0bc3a48791f49678f4030c5 (commit)
       via  523626908d25f974fd1ae6d7306b1d4bc8414162 (commit)
       via  f8243cfc47c7414bab7f249d0e5d1c85e8ca7d64 (commit)
      from  29818a07de826fd687003ff25865d77939ecaa9a (commit)

http://gitweb.samba.org/?samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 0cbb87453beb52c6b0bc3a48791f49678f4030c5
Author: Michael Adam <obnox at samba.org>
Date:   Fri Feb 29 02:23:29 2008 +0100

    libreplace: fix rep_freeifaddrs to not segfault on NULL input.
    
    Michael

commit 523626908d25f974fd1ae6d7306b1d4bc8414162
Author: Michael Adam <obnox at samba.org>
Date:   Fri Feb 29 02:22:02 2008 +0100

    libreplace: fix silly crashbug in getifaddrs_test().
    
    Michael

commit f8243cfc47c7414bab7f249d0e5d1c85e8ca7d64
Author: Michael Adam <obnox at samba.org>
Date:   Fri Feb 29 01:49:30 2008 +0100

    libreplace: add missing newline in output of getifaddrs test.
    
    Michael

-----------------------------------------------------------------------

Summary of changes:
 source/lib/replace/getifaddrs.c      |   13 +++++++------
 source/lib/replace/test/getifaddrs.c |    6 ++++--
 2 files changed, 11 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/replace/getifaddrs.c b/source/lib/replace/getifaddrs.c
index adc2517..f6f0ec0 100644
--- a/source/lib/replace/getifaddrs.c
+++ b/source/lib/replace/getifaddrs.c
@@ -44,13 +44,14 @@
 
 void rep_freeifaddrs(struct ifaddrs *ifp)
 {
-	free(ifp->ifa_name);
-	free(ifp->ifa_addr);
-	free(ifp->ifa_netmask);
-	free(ifp->ifa_dstaddr);
-	if (ifp->ifa_next != NULL)
+	if (ifp != NULL) {
+		free(ifp->ifa_name);
+		free(ifp->ifa_addr);
+		free(ifp->ifa_netmask);
+		free(ifp->ifa_dstaddr);
 		freeifaddrs(ifp->ifa_next);
-	free(ifp);
+		free(ifp);
+	}
 }
 
 static struct sockaddr *sockaddr_dup(struct sockaddr *sa)
diff --git a/source/lib/replace/test/getifaddrs.c b/source/lib/replace/test/getifaddrs.c
index 66eed70..c78c9b5 100644
--- a/source/lib/replace/test/getifaddrs.c
+++ b/source/lib/replace/test/getifaddrs.c
@@ -51,11 +51,13 @@ static const char *format_sockaddr(struct sockaddr *addr,
 int getifaddrs_test(void)
 {
 	struct ifaddrs *ifs = NULL;
+	struct ifaddrs *ifs_head = NULL;
 	int ret;
 
 	ret = getifaddrs(&ifs);
+	ifs_head = ifs;
 	if (ret != 0) {
-		fprintf(stderr, "getifaddrs() failed: %s", strerror(errno));
+		fprintf(stderr, "getifaddrs() failed: %s\n", strerror(errno));
 		return 1;
 	}
 
@@ -90,7 +92,7 @@ int getifaddrs_test(void)
 		ifs = ifs->ifa_next;
 	}
 
-	freeifaddrs(ifs);
+	freeifaddrs(ifs_head);
 
 	return 0;
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list