mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
iscsi: Check for copyout errors in iscsi_ioctl_daemon_receive()
Reviewed by: jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D43148
This commit is contained in:
parent
099d25c354
commit
74e713804f
|
@ -1896,17 +1896,17 @@ iscsi_ioctl_daemon_receive(struct iscsi_softc *sc,
|
||||||
return (EMSGSIZE);
|
return (EMSGSIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
copyout(ip->ip_bhs, idr->idr_bhs, sizeof(*ip->ip_bhs));
|
error = copyout(ip->ip_bhs, idr->idr_bhs, sizeof(*ip->ip_bhs));
|
||||||
if (ip->ip_data_len > 0) {
|
if (error == 0 && ip->ip_data_len > 0) {
|
||||||
data = malloc(ip->ip_data_len, M_ISCSI, M_WAITOK);
|
data = malloc(ip->ip_data_len, M_ISCSI, M_WAITOK);
|
||||||
icl_pdu_get_data(ip, 0, data, ip->ip_data_len);
|
icl_pdu_get_data(ip, 0, data, ip->ip_data_len);
|
||||||
copyout(data, idr->idr_data_segment, ip->ip_data_len);
|
error = copyout(data, idr->idr_data_segment, ip->ip_data_len);
|
||||||
free(data, M_ISCSI);
|
free(data, M_ISCSI);
|
||||||
}
|
}
|
||||||
|
|
||||||
icl_pdu_free(ip);
|
icl_pdu_free(ip);
|
||||||
|
|
||||||
return (0);
|
return (error);
|
||||||
}
|
}
|
||||||
#endif /* ICL_KERNEL_PROXY */
|
#endif /* ICL_KERNEL_PROXY */
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue