From b03afa868c547f323c121c33b53f94da35391af5 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 5 Aug 2006 17:08:40 +0000 Subject: [PATCH] skip host="" and port=0 (ITS#4610) --- libraries/libldap/dnssrv.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libraries/libldap/dnssrv.c b/libraries/libldap/dnssrv.c index 3090c66d4d..09e3936cc3 100644 --- a/libraries/libldap/dnssrv.c +++ b/libraries/libldap/dnssrv.c @@ -275,8 +275,12 @@ int ldap_domain2hostlist( /* weight = (p[2] << 8) | p[3]; */ port = (p[4] << 8) | p[5]; - buflen = strlen(host) + sizeof(":65355 "); - hostlist = (char *) LDAP_REALLOC(hostlist, cur + buflen); + if ( port == 0 || host[ 0 ] == '\0' ) { + goto add_size; + } + + buflen = strlen(host) + STRLENOF(":65355 "); + hostlist = (char *) LDAP_REALLOC(hostlist, cur + buflen + 1); if (hostlist == NULL) { rc = LDAP_NO_MEMORY; goto out; @@ -287,6 +291,7 @@ int ldap_domain2hostlist( } cur += sprintf(&hostlist[cur], "%s:%hd", host, port); } +add_size:; p += size; } } -- 2.39.5