Index: usr.sbin/ctld/kernel.c =================================================================== --- usr.sbin/ctld/kernel.c +++ usr.sbin/ctld/kernel.c @@ -697,13 +697,13 @@ req.reqdata.create.device_type = lun->l_device_type; if (lun->l_serial != NULL) { - strncpy(req.reqdata.create.serial_num, lun->l_serial, + strlcpy(req.reqdata.create.serial_num, lun->l_serial, sizeof(req.reqdata.create.serial_num)); req.reqdata.create.flags |= CTL_LUN_FLAG_SERIAL_NUM; } if (lun->l_device_id != NULL) { - strncpy(req.reqdata.create.device_id, lun->l_device_id, + strlcpy(req.reqdata.create.device_id, lun->l_device_id, sizeof(req.reqdata.create.device_id)); req.reqdata.create.flags |= CTL_LUN_FLAG_DEVID; } @@ -785,7 +785,9 @@ bzero(&req, sizeof(req)); - strlcpy(req.backend, lun->l_backend, sizeof(req.backend)); + if (lun->l_backend) { + strlcpy(req.backend, lun->l_backend, sizeof(req.backend)); + } req.reqtype = CTL_LUNREQ_MODIFY; req.reqdata.modify.lun_id = lun->l_ctl_lun;