diff options
author | mav <mav@FreeBSD.org> | 2012-07-24 13:08:43 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2012-07-24 13:08:43 +0000 |
commit | ce83f9282b152e0880cb9c0d82cbc238600ae823 (patch) | |
tree | 036fe5b33d254c7d96b8c95712af7b4d261a0227 /sys/cam/scsi/scsi_enc_ses.c | |
parent | 26fd7fb58840e1954790533653fc2539a0a41b09 (diff) | |
download | FreeBSD-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.c | 2 |
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); |