File tree 1 file changed +7
-1
lines changed 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -1349,7 +1349,7 @@ static ssize_t ucma_process_join(struct ucma_file *file,
1349
1349
return - ENOSPC ;
1350
1350
1351
1351
addr = (struct sockaddr * ) & cmd -> addr ;
1352
- if (! cmd -> addr_size || ( cmd -> addr_size != rdma_addr_size (addr ) ))
1352
+ if (cmd -> addr_size != rdma_addr_size (addr ))
1353
1353
return - EINVAL ;
1354
1354
1355
1355
if (cmd -> join_flags == RDMA_MC_JOIN_FLAG_FULLMEMBER )
@@ -1417,6 +1417,9 @@ static ssize_t ucma_join_ip_multicast(struct ucma_file *file,
1417
1417
join_cmd .uid = cmd .uid ;
1418
1418
join_cmd .id = cmd .id ;
1419
1419
join_cmd .addr_size = rdma_addr_size ((struct sockaddr * ) & cmd .addr );
1420
+ if (!join_cmd .addr_size )
1421
+ return - EINVAL ;
1422
+
1420
1423
join_cmd .join_flags = RDMA_MC_JOIN_FLAG_FULLMEMBER ;
1421
1424
memcpy (& join_cmd .addr , & cmd .addr , join_cmd .addr_size );
1422
1425
@@ -1432,6 +1435,9 @@ static ssize_t ucma_join_multicast(struct ucma_file *file,
1432
1435
if (copy_from_user (& cmd , inbuf , sizeof (cmd )))
1433
1436
return - EFAULT ;
1434
1437
1438
+ if (!rdma_addr_size ((struct sockaddr * )& cmd .addr ))
1439
+ return - EINVAL ;
1440
+
1435
1441
return ucma_process_join (file , & cmd , out_len );
1436
1442
}
1437
1443
You can’t perform that action at this time.
0 commit comments