From: Jeffrey Altman Date: Sun, 6 Jun 2004 04:51:41 +0000 (+0000) Subject: uninitialized-variable-20040605 X-Git-Tag: openafs-devel-1_3_65~64 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=a749be9ff374aafc1ddb04cfc9f616c186dc60e7;p=packages%2Fo%2Fopenafs.git uninitialized-variable-20040605 cm_dns.c: getAFSServers() did not initialize the output parameters before testing them when setting the return value. It therefore returned success when the network was unavailable. Bad Bad Bad. --- diff --git a/src/WINNT/afsd/cm_dns.c b/src/WINNT/afsd/cm_dns.c index 14fa4269b..81a3962ba 100644 --- a/src/WINNT/afsd/cm_dns.c +++ b/src/WINNT/afsd/cm_dns.c @@ -698,14 +698,14 @@ int getAFSServer(char *cellName, int *cellHostAddrs, char cellHostNames[][MAXHOS DWORD i; struct sockaddr_in vlSockAddr; + *numServers = 0; + *ttl = 0; + /* query the AFSDB records of cell */ if (DnsQuery_A(cellName, DNS_TYPE_AFSDB, DNS_QUERY_STANDARD, NULL, &pDnsCell, NULL) == ERROR_SUCCESS) { memset((void*) &vlSockAddr, 0, sizeof(vlSockAddr)); - *numServers = 0; - *ttl = 0; - /* go through the returned records */ for (pDnsIter = pDnsCell;pDnsIter; pDnsIter = pDnsIter->pNext) { /* if we find an AFSDB record with Preference set to 1, we found a volserver */