Commit 2566835b authored by Keith Packard's avatar Keith Packard
Browse files

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's avatarKeith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
parent 1b94fd77
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment