*delimiter, tmp_min_range,
tmp_max_range);
- if (strlen(qp_str) + strlen(tmp) >= MAX_QP_STR_LEN)
- return -EINVAL;
- strncat(qp_str, tmp, sizeof(tmp) - 1);
+ strncat(qp_str, tmp,
+ MAX_QP_STR_LEN - strlen(qp_str) - 1);
memset(tmp, 0, strlen(tmp));
*delimiter = ",";
snprintf(tmp, sizeof(tmp), "%s%d-%d", *delimiter,
tmp_min_range, tmp_max_range);
- if (strlen(qp_str) + strlen(tmp) >= MAX_QP_STR_LEN)
- return -EINVAL;
- strncat(qp_str, tmp, sizeof(tmp) - 1);
+ strncat(qp_str, tmp, MAX_QP_STR_LEN - strlen(qp_str) - 1);
*delimiter = ",";
return 0;
}
qp_line[RDMA_NLDEV_ATTR_RES_LQPN]))
continue;
snprintf(tmp, sizeof(tmp), "%s%d", delimiter, qpn);
- if (strlen(qp_str) + strlen(tmp) >= MAX_QP_STR_LEN)
- goto out;
- strncat(qp_str, tmp, sizeof(tmp) - 1);
+ strncat(qp_str, tmp,
+ MAX_QP_STR_LEN - strlen(qp_str) - 1);
delimiter = ",";
} else if (qp_line[RDMA_NLDEV_ATTR_MIN_RANGE] &&
qp_line[RDMA_NLDEV_ATTR_MAX_RANGE]) {