Commit 9506902b authored by Matan Barak's avatar Matan Barak Committed by Doug Ledford
Browse files

IB/core: Fix dereference before check

Sparse complains about dereference before check. Fixing this by
moving the check before the dereference.

Fixes: 20029832

 ('IB/core: Validate route when we init ah')
Signed-off-by: default avatarMatan Barak <>
Signed-off-by: default avatarDoug Ledford <>
parent 2e2cdace
...@@ -497,13 +497,14 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr, ...@@ -497,13 +497,14 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr,
struct sockaddr_storage ssrc_addr = {}; struct sockaddr_storage ssrc_addr = {};
struct sockaddr *src_in = (struct sockaddr *)&ssrc_addr; struct sockaddr *src_in = (struct sockaddr *)&ssrc_addr;
if (src_addr) {
if (src_addr->sa_family != dst_addr->sa_family) if (src_addr->sa_family != dst_addr->sa_family)
return -EINVAL; return -EINVAL;
if (src_addr)
memcpy(src_in, src_addr, rdma_addr_size(src_addr)); memcpy(src_in, src_addr, rdma_addr_size(src_addr));
else } else {
src_in->sa_family = dst_addr->sa_family; src_in->sa_family = dst_addr->sa_family;
return addr_resolve(src_in, dst_addr, addr, false); return addr_resolve(src_in, dst_addr, addr, false);
} }
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