os: Eliminate uninitialized value warnings from access.c
The ConvertAddr function doesn't reliably set the 'addr' return value, and so callers are getting flagged for using potentially uninitialized values. Initialize the value in the callers to NULL and then go ahead and check for NULL values before using them. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
1b94fd7779
commit
2566835b43
16
os/access.c
16
os/access.c
|
@ -835,7 +835,7 @@ ResetHosts(const char *display)
|
|||
} saddr;
|
||||
#endif
|
||||
int family = 0;
|
||||
void *addr;
|
||||
void *addr = NULL;
|
||||
int len;
|
||||
|
||||
siTypesInitialize();
|
||||
|
@ -928,8 +928,8 @@ ResetHosts(const char *display)
|
|||
len = a->ai_addrlen;
|
||||
f = ConvertAddr(a->ai_addr, &len,
|
||||
(void **) &addr);
|
||||
if ((family == f) ||
|
||||
((family == FamilyWild) && (f != -1))) {
|
||||
if (addr && ((family == f) ||
|
||||
((family == FamilyWild) && (f != -1)))) {
|
||||
NewHost(f, addr, len, FALSE);
|
||||
}
|
||||
}
|
||||
|
@ -1359,7 +1359,7 @@ int
|
|||
InvalidHost(register struct sockaddr *saddr, int len, ClientPtr client)
|
||||
{
|
||||
int family;
|
||||
void *addr;
|
||||
void *addr = NULL;
|
||||
register HOST *selfhost, *host;
|
||||
|
||||
if (!AccessEnabled) /* just let them in */
|
||||
|
@ -1386,12 +1386,12 @@ InvalidHost(register struct sockaddr *saddr, int len, ClientPtr client)
|
|||
}
|
||||
for (host = validhosts; host; host = host->next) {
|
||||
if (host->family == FamilyServerInterpreted) {
|
||||
if (siAddrMatch(family, addr, len, host, client)) {
|
||||
if (addr && siAddrMatch(family, addr, len, host, client)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (addrEqual(family, addr, len, host))
|
||||
if (addr && addrEqual(family, addr, len, host))
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1648,7 +1648,7 @@ siHostnameAddrMatch(int family, void *addr, int len,
|
|||
struct addrinfo *addresses;
|
||||
struct addrinfo *a;
|
||||
int f, hostaddrlen;
|
||||
void *hostaddr;
|
||||
void *hostaddr = NULL;
|
||||
|
||||
if (siAddrLen >= sizeof(hostname))
|
||||
return FALSE;
|
||||
|
@ -1659,7 +1659,7 @@ siHostnameAddrMatch(int family, void *addr, int len,
|
|||
for (a = addresses; a != NULL; a = a->ai_next) {
|
||||
hostaddrlen = a->ai_addrlen;
|
||||
f = ConvertAddr(a->ai_addr, &hostaddrlen, &hostaddr);
|
||||
if ((f == family) && (len == hostaddrlen) &&
|
||||
if ((f == family) && (len == hostaddrlen) && hostaddr &&
|
||||
(memcmp(addr, hostaddr, len) == 0)) {
|
||||
res = TRUE;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue