diff --git a/lib/iscsi/iscsi.c b/lib/iscsi/iscsi.c index 268f20ae9..39d1e95c4 100644 --- a/lib/iscsi/iscsi.c +++ b/lib/iscsi/iscsi.c @@ -281,8 +281,9 @@ iscsi_reject(struct spdk_iscsi_conn *conn, struct spdk_iscsi_pdu *pdu, data_len += ISCSI_BHS_LEN; if (total_ahs_len != 0) { - memcpy(data + data_len, pdu->ahs, (4 * total_ahs_len)); - data_len += (4 * total_ahs_len); + total_ahs_len = spdk_min((4 * total_ahs_len), ISCSI_AHS_LEN); + memcpy(data + data_len, pdu->ahs, total_ahs_len); + data_len += total_ahs_len; } if (conn->header_digest) {