aboutsummaryrefslogtreecommitdiff
path: root/sys/cam/scsi/scsi_enc_ses.c
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2012-07-24 13:08:43 +0000
committerAlexander Motin <mav@FreeBSD.org>2012-07-24 13:08:43 +0000
commit262b5c50db097ca3f0830b34c8a41bd6bccaaf6b (patch)
tree036fe5b33d254c7d96b8c95712af7b4d261a0227 /sys/cam/scsi/scsi_enc_ses.c
parent2cba1ccd0ecb54e0273e8c48b522686219604d5f (diff)
downloadsrc-262b5c50db097ca3f0830b34c8a41bd6bccaaf6b.tar.gz
src-262b5c50db097ca3f0830b34c8a41bd6bccaaf6b.zip
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.
Notes
Notes: svn path=/head/; revision=238739
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 9b6fba30242a..14c51fbd115e 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);