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