cfs_atomic_set(&sn->sn_refcount, 1); /* +1 for caller */
cfs_atomic_set(&sn->sn_brw_errors, 0);
cfs_atomic_set(&sn->sn_ping_errors, 0);
- strncpy(&sn->sn_name[0], name, LST_NAME_SIZE);
+ strlcpy(&sn->sn_name[0], name, sizeof(sn->sn_name));
sn->sn_timer_active = 0;
sn->sn_id = sid;
sfw_session_t *sn = sfw_data.fw_session;
srpc_msg_t *msg = container_of(request, srpc_msg_t,
msg_body.mksn_reqst);
+ int cplen = 0;
if (request->mksn_sid.ses_nid == LNET_NID_ANY) {
reply->mksn_sid = (sn == NULL) ? LST_INVALID_SID : sn->sn_id;
if (!request->mksn_force) {
reply->mksn_status = EBUSY;
- strncpy(&reply->mksn_name[0], &sn->sn_name[0], LST_NAME_SIZE);
+ cplen = strlcpy(&reply->mksn_name[0], &sn->sn_name[0],
+ sizeof(reply->mksn_name));
+ if (cplen >= sizeof(reply->mksn_name))
+ return -E2BIG;
return 0;
}
}
reply->dbg_status = 0;
reply->dbg_sid = sn->sn_id;
reply->dbg_timeout = sn->sn_timeout;
- strncpy(reply->dbg_name, &sn->sn_name[0], LST_NAME_SIZE);
+ if (strlcpy(reply->dbg_name, &sn->sn_name[0], sizeof(reply->dbg_name))
+ >= sizeof(reply->dbg_name))
+ return -E2BIG;
return 0;
}