refcount_set(&sn->sn_refcount, 1); /* +1 for caller */
atomic_set(&sn->sn_brw_errors, 0);
atomic_set(&sn->sn_ping_errors, 0);
- strlcpy(&sn->sn_name[0], name, sizeof(sn->sn_name));
+ strscpy(&sn->sn_name[0], name, sizeof(sn->sn_name));
sn->sn_timer_active = 0;
sn->sn_id.ses_stamp = sid.ses_stamp;
if (!request->mksn_force) {
reply->mksn_status = EBUSY;
- cplen = strlcpy(&reply->mksn_name[0], &sn->sn_name[0],
+ cplen = strscpy(&reply->mksn_name[0], &sn->sn_name[0],
sizeof(reply->mksn_name));
- if (cplen >= sizeof(reply->mksn_name))
- return -E2BIG;
+ if (cplen < 0)
+ return cplen;
return 0;
}
}
struct srpc_debug_reply *reply)
{
struct sfw_session *sn = sfw_data.fw_session;
+ int cplen;
if (sn == NULL) {
reply->dbg_status = ESRCH;
reply->dbg_status = 0;
reply->dbg_sid = get_old_sid(sn);
reply->dbg_timeout = sn->sn_timeout;
- if (strlcpy(reply->dbg_name, &sn->sn_name[0],
- sizeof(reply->dbg_name)) >= sizeof(reply->dbg_name))
- return -E2BIG;
+ cplen = strscpy(reply->dbg_name, &sn->sn_name[0],
+ sizeof(reply->dbg_name));
+ if (cplen < 0)
+ return cplen;
return 0;
}