IB/core: Fix dereference before check
Sparse complains about dereference before check. Fixing this by
moving the check before the dereference.
Fixes: 200298326b
('IB/core: Validate route when we init ah')
Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
2e2cdace5a
commit
9506902b7b
drivers/infiniband/core
|
@ -497,13 +497,14 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr,
|
|||
struct sockaddr_storage ssrc_addr = {};
|
||||
struct sockaddr *src_in = (struct sockaddr *)&ssrc_addr;
|
||||
|
||||
if (src_addr->sa_family != dst_addr->sa_family)
|
||||
return -EINVAL;
|
||||
if (src_addr) {
|
||||
if (src_addr->sa_family != dst_addr->sa_family)
|
||||
return -EINVAL;
|
||||
|
||||
if (src_addr)
|
||||
memcpy(src_in, src_addr, rdma_addr_size(src_addr));
|
||||
else
|
||||
} else {
|
||||
src_in->sa_family = dst_addr->sa_family;
|
||||
}
|
||||
|
||||
return addr_resolve(src_in, dst_addr, addr, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue