rpc-transport/socket: NULL pointer dereferencing clang fix
Problem: ctx and res can be NULL. Solution: introduced a VALIDATE_OR_GOTO statement, hence removed the null check for ctx; added a check for res. Updates: bz#1622665 Change-Id: Ifee4c73e260530ab44c0a34c5ff5568f38f92c94 Signed-off-by: Shwetha Acharya <sacharya@redhat.com>
This commit is contained in:
parent
d7fa1a85b1
commit
0c835893fd
@ -413,7 +413,7 @@ af_inet_server_get_local_sockaddr(rpc_transport_t *this, struct sockaddr *addr,
|
||||
}
|
||||
}
|
||||
|
||||
if (!(*addr_len)) {
|
||||
if (!(*addr_len) && res) {
|
||||
memcpy(addr, res->ai_addr, res->ai_addrlen);
|
||||
*addr_len = res->ai_addrlen;
|
||||
}
|
||||
|
@ -2985,6 +2985,7 @@ socket_server_event_handler(int fd, int idx, int gen, void *data, int poll_in,
|
||||
GF_VALIDATE_OR_GOTO("socket", this, out);
|
||||
GF_VALIDATE_OR_GOTO("socket", this->private, out);
|
||||
GF_VALIDATE_OR_GOTO("socket", this->xl, out);
|
||||
GF_VALIDATE_OR_GOTO("socket", this->ctx, out);
|
||||
|
||||
THIS = this->xl;
|
||||
priv = this->private;
|
||||
@ -3006,8 +3007,7 @@ socket_server_event_handler(int fd, int idx, int gen, void *data, int poll_in,
|
||||
|
||||
new_sock = sys_accept(priv->sock, SA(&new_sockaddr), &addrlen, aflags);
|
||||
|
||||
if (ctx)
|
||||
event_handled(ctx->event_pool, fd, idx, gen);
|
||||
event_handled(ctx->event_pool, fd, idx, gen);
|
||||
|
||||
if (new_sock == -1) {
|
||||
gf_log(this->name, GF_LOG_WARNING, "accept on %d failed (%s)",
|
||||
|
Loading…
x
Reference in New Issue
Block a user