diff options
author | mav <mav@FreeBSD.org> | 2017-04-23 07:35:10 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2017-04-23 07:35:10 +0000 |
commit | 348663f0d3a568ce13a316e59c05a6d102161a3c (patch) | |
tree | cad83ad1aaaa748e18af85541fd0c5fd1959c2bd /sys/cam | |
parent | c99eb2695f9d334cb16926c11319f6b714f5105a (diff) | |
download | FreeBSD-src-348663f0d3a568ce13a316e59c05a6d102161a3c.zip FreeBSD-src-348663f0d3a568ce13a316e59c05a6d102161a3c.tar.gz |
MFC r316653: Fix few minor issues found by Clang Analyzer.
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/ctl/ctl.c | 2 | ||||
-rw-r--r-- | sys/cam/ctl/ctl_frontend_iscsi.c | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index ac4a258..ad7cdd4 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -7047,7 +7047,7 @@ ctl_get_lba_status(struct ctl_scsiio *ctsio) lbalen->len = total_len; lbalen->flags = 0; retval = lun->backend->config_read((union ctl_io *)ctsio); - return (CTL_RETVAL_COMPLETE); + return (retval); } int diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c index 8fa8ec8..591e83d 100644 --- a/sys/cam/ctl/ctl_frontend_iscsi.c +++ b/sys/cam/ctl/ctl_frontend_iscsi.c @@ -321,11 +321,10 @@ cfiscsi_pdu_handle(struct icl_pdu *request) static void cfiscsi_receive_callback(struct icl_pdu *request) { +#ifdef ICL_KERNEL_PROXY struct cfiscsi_session *cs; cs = PDU_SESSION(request); - -#ifdef ICL_KERNEL_PROXY if (cs->cs_waiting_for_ctld || cs->cs_login_phase) { if (cs->cs_login_pdu == NULL) cs->cs_login_pdu = request; @@ -1706,6 +1705,13 @@ cfiscsi_ioctl_list(struct ctl_iscsi *ci) sbuf_finish(sb); error = copyout(sbuf_data(sb), cilp->conn_xml, sbuf_len(sb) + 1); + if (error != 0) { + sbuf_delete(sb); + snprintf(ci->error_str, sizeof(ci->error_str), + "copyout failed with error %d", error); + ci->status = CTL_ISCSI_ERROR; + return; + } cilp->fill_len = sbuf_len(sb) + 1; ci->status = CTL_ISCSI_OK; sbuf_delete(sb); @@ -2158,9 +2164,9 @@ cfiscsi_ioctl_port_create(struct ctl_req *req) retval = ctl_port_register(port); if (retval != 0) { ctl_free_opts(&port->options); - cfiscsi_target_release(ct); free(port->port_devid, M_CFISCSI); free(port->target_devid, M_CFISCSI); + cfiscsi_target_release(ct); req->status = CTL_LUN_ERROR; snprintf(req->error_str, sizeof(req->error_str), "ctl_port_register() failed with error %d", retval); |