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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
Date:   Fri Feb 29 02:22:02 2008 +0100

    libreplace: fix silly crashbug in getifaddrs_test().
    
    Michael

commit f8243cfc47c7414bab7f249d0e5d1c85e8ca7d64
Author: Michael Adam <[EMAIL PROTECTED]>
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

Reply via email to