server: add safeguards against printing bogus port number
Clang static checker emits "Assigned value is garbage or undefined" warning there as it can't prove that when the socket descriptor is AF_INET/SOCK_STREAM and getsockname doesn't return an error, sin_port is guaranteed to be filled in. Pacify it by obvious means. Change-Id: I43b5e5ceb41c07d523a81b34a25490c4c5f49a70 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/4350 Tested-by: jenkins Reviewed-by: Tim Newsome <tim@sifive.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
This commit is contained in:
parent
ff623b83fc
commit
f02327d859
|
@ -300,10 +300,11 @@ int add_service(char *name,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct sockaddr_in addr_in;
|
struct sockaddr_in addr_in;
|
||||||
|
addr_in.sin_port = 0;
|
||||||
socklen_t addr_in_size = sizeof(addr_in);
|
socklen_t addr_in_size = sizeof(addr_in);
|
||||||
getsockname(c->fd, (struct sockaddr *)&addr_in, &addr_in_size);
|
if (getsockname(c->fd, (struct sockaddr *)&addr_in, &addr_in_size) == 0)
|
||||||
LOG_INFO("Listening on port %hu for %s connections",
|
LOG_INFO("Listening on port %hu for %s connections",
|
||||||
ntohs(addr_in.sin_port), name);
|
ntohs(addr_in.sin_port), name);
|
||||||
} else if (c->type == CONNECTION_STDINOUT) {
|
} else if (c->type == CONNECTION_STDINOUT) {
|
||||||
c->fd = fileno(stdin);
|
c->fd = fileno(stdin);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue