summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authorken <ken@FreeBSD.org>2005-03-26 04:21:11 +0000
committerken <ken@FreeBSD.org>2005-03-26 04:21:11 +0000
commit45abe5fea18096424b899b1043ad3901b640e858 (patch)
treeff9ec79edfd2483abe0856b6510ec983f63812fd /sys/cam
parent6d4772ae400e3febe8113bdb4e4f68de9b3204eb (diff)
downloadFreeBSD-src-45abe5fea18096424b899b1043ad3901b640e858.zip
FreeBSD-src-45abe5fea18096424b899b1043ad3901b640e858.tar.gz
Fix a place where we were referencing a pointer after it had been freed.
Submitted by: "Henry Miller" <hank@blackhole.com> MFC after: 3 days
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/scsi/scsi_ch.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/cam/scsi/scsi_ch.c b/sys/cam/scsi/scsi_ch.c
index b7941b9..c79dd99 100644
--- a/sys/cam/scsi/scsi_ch.c
+++ b/sys/cam/scsi/scsi_ch.c
@@ -1157,6 +1157,8 @@ chgetelemstatus(struct cam_periph *periph,
* Fill in the user status array.
*/
st_hdr = (struct read_element_status_header *)data;
+ pg_hdr = (struct read_element_status_page_header *)((uintptr_t)st_hdr +
+ sizeof(struct read_element_status_header));
avail = scsi_2btoul(st_hdr->count);
if (avail != cesr->cesr_element_count) {
OpenPOWER on IntegriCloud