[Fedora-directory-commits] ldapserver/ldap/servers/slapd daemon.c, 1.17, 1.18

Noriko Hosoi (nhosoi) fedora-directory-commits at redhat.com
Wed Nov 14 20:18:55 UTC 2007


Author: nhosoi

Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2709

Modified Files:
	daemon.c 
Log Message:
Resolves: #383141
Summary: listenhost: hostname associated with multiple addresses
1) parentheses were needed around *addr, which should have been evaluated
before the array.
2) fixed a small memory leak. 



Index: daemon.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/daemon.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- daemon.c	18 Oct 2007 00:08:34 -0000	1.17
+++ daemon.c	14 Nov 2007 20:18:53 -0000	1.18
@@ -2870,11 +2870,11 @@
 			slapi_ch_free ((void**)&netaddr);
 		}
 		*addr = (PRNetAddr **)slapi_ch_calloc(2, sizeof (PRNetAddr *));
-		*addr[0] = netaddr;
+		(*addr)[0] = netaddr;
 	} else if (PR_SUCCESS == PR_StringToNetAddr(listenhost, netaddr)) {
 		/* PR_StringNetAddr newer than NSPR v4.6.2 supports both IPv4&v6 */; 
 		*addr = (PRNetAddr **)slapi_ch_calloc(2, sizeof (PRNetAddr *));
-		*addr[0] = netaddr;
+		(*addr)[0] = netaddr;
 	} else {
 		PRAddrInfo *infop = PR_GetAddrInfoByName( listenhost,
 						PR_AF_UNSPEC, (PR_AI_ADDRCONFIG|PR_AI_NOCANONNAME) );
@@ -2901,9 +2901,10 @@
 				for  ( i = 0; i < addrcnt; i++ ) {
 					iter = PR_EnumerateAddrInfo( iter, infop, 0, netaddr );
 					if ( NULL == iter ) {
+						slapi_ch_free((void **)&netaddr); /* not used */
 						break;
 					}
-					*addr[i] = netaddr;
+					(*addr)[i] = netaddr;
 					netaddr = (PRNetAddr *)slapi_ch_calloc(1, sizeof(PRNetAddr));
 				}
 			}




More information about the Fedora-directory-commits mailing list