From: Jeffrey Altman Date: Fri, 19 Mar 2004 05:16:24 +0000 (+0000) Subject: getipaddrlist-20040318 X-Git-Tag: openafs-devel-1_3_61~24 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=e1cc03f597954d6e70086dbccf989f791b123c66;p=packages%2Fo%2Fopenafs.git getipaddrlist-20040318 Improve error checking in GetNumOfIpAddrs to prevent potential invalid memory access if the IP Address Table cannot be accessed. (win2000 with no privs) --- diff --git a/src/WINNT/client_creds/afskfw.c b/src/WINNT/client_creds/afskfw.c index 1a00fe889..bedb85ff3 100644 --- a/src/WINNT/client_creds/afskfw.c +++ b/src/WINNT/client_creds/afskfw.c @@ -3449,9 +3449,11 @@ GetNumOfIpAddrs(void) if (code == ERROR_INSUFFICIENT_BUFFER) { pIpAddrTable = malloc(dwSize); code = GetIpAddrTable(pIpAddrTable, &dwSize, 0); - for ( index=0; index < pIpAddrTable->dwNumEntries; index++ ) { - if (pIpAddrTable->table[index].dwAddr != 0) - validAddrs++; + if ( code == NO_ERROR ) { + for ( index=0; index < pIpAddrTable->dwNumEntries; index++ ) { + if (pIpAddrTable->table[index].dwAddr != 0) + validAddrs++; + } } free(pIpAddrTable); }