]> git.sur5r.net Git - openldap/commitdiff
ITS#6653
authorQuanah Gibson-Mount <quanah@openldap.org>
Sun, 12 Dec 2010 03:00:20 +0000 (03:00 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Sun, 12 Dec 2010 03:00:20 +0000 (03:00 +0000)
CHANGES
libraries/libldap/url.c

diff --git a/CHANGES b/CHANGES
index ed677b988750c470d1390434ff909ecaffc81aa6..f170c2e5eed9c3ef7606339552164562fe4b460e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,7 @@ OpenLDAP 2.4.24 Engineering
        Fixed liblber to not close invalid sockets (ITS#6585)
        Fixed libldap dnssrv port format specifier (ITS#6644)
        Fixed libldap sasl partial write handling (ITS#6639)
+       Fixed libldap url parsing with NULL host (ITS#6653)
        Fixed ldapsearch segfault with deref (ITS#6638)
        Fixed slapd acl parsing overflow (ITS#6611)
        Fixed slapd modify to return actual error (ITS#6581)
index 2c4094cb9c67f466295e94f1bb985ce017e74ceb..4e641a37063b75eb0a681323fe4ec39f45113432 100644 (file)
@@ -1425,6 +1425,7 @@ ldap_url_list2hosts (LDAPURLDesc *ludlist)
        /* figure out how big the string is */
        size = 1;       /* nul-term */
        for (ludp = ludlist; ludp != NULL; ludp = ludp->lud_next) {
+               if ( ludp->lud_host == NULL ) continue;
                size += strlen(ludp->lud_host) + 1;             /* host and space */
                if (strchr(ludp->lud_host, ':'))        /* will add [ ] below */
                        size += 2;
@@ -1437,6 +1438,7 @@ ldap_url_list2hosts (LDAPURLDesc *ludlist)
 
        p = s;
        for (ludp = ludlist; ludp != NULL; ludp = ludp->lud_next) {
+               if ( ludp->lud_host == NULL ) continue;
                if (strchr(ludp->lud_host, ':')) {
                        p += sprintf(p, "[%s]", ludp->lud_host);
                } else {
@@ -1449,7 +1451,7 @@ ldap_url_list2hosts (LDAPURLDesc *ludlist)
        }
        if (p != s)
                p--;    /* nuke that extra space */
-       *p = 0;
+       *p = '\0';
        return s;
 }