summaryrefslogtreecommitdiffstats
path: root/sys/cam/scsi/scsi_enc_ses.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2012-07-24 13:08:43 +0000
committermav <mav@FreeBSD.org>2012-07-24 13:08:43 +0000
commitce83f9282b152e0880cb9c0d82cbc238600ae823 (patch)
tree036fe5b33d254c7d96b8c95712af7b4d261a0227 /sys/cam/scsi/scsi_enc_ses.c
parent26fd7fb58840e1954790533653fc2539a0a41b09 (diff)
downloadFreeBSD-src-ce83f9282b152e0880cb9c0d82cbc238600ae823.zip
FreeBSD-src-ce83f9282b152e0880cb9c0d82cbc238600ae823.tar.gz
Do not call ses_softc_cleanup() in case of configuration read failure.
Just free inclomplete daemon cache instead to let it retry next time. Premature ses_softc_cleanup() caused NULL dereference when freed softc was accessed later.
Diffstat (limited to 'sys/cam/scsi/scsi_enc_ses.c')
-rw-r--r--sys/cam/scsi/scsi_enc_ses.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c
index 9b6fba3..14c51fb 100644
--- a/sys/cam/scsi/scsi_enc_ses.c
+++ b/sys/cam/scsi/scsi_enc_ses.c
@@ -1473,7 +1473,7 @@ ses_process_config(enc_softc_t *enc, struct enc_fsm_state *state,
out:
if (err)
- ses_softc_cleanup(enc);
+ ses_cache_free(enc, enc_cache);
else {
enc_update_request(enc, SES_UPDATE_GETSTATUS);
enc_update_request(enc, SES_UPDATE_GETELMDESCS);
OpenPOWER on IntegriCloud