summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-10-26 07:45:48 +0000
committermav <mav@FreeBSD.org>2016-10-26 07:45:48 +0000
commit1e74d3419b0da1ebb8106c23763e29c3ddacfc5a (patch)
tree4b57c89635e35a401441825e16e048a194a5bd7f
parentc4ea095d31613b4c6ba16691ee347e97ed30899f (diff)
downloadFreeBSD-src-1e74d3419b0da1ebb8106c23763e29c3ddacfc5a.zip
FreeBSD-src-1e74d3419b0da1ebb8106c23763e29c3ddacfc5a.tar.gz
MFC r307132: Use copyout() instead of pointing sbuf to user-space buffer.
-rw-r--r--sys/cam/scsi/scsi_enc_ses.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c
index 8387ef2..2c3f07e 100644
--- a/sys/cam/scsi/scsi_enc_ses.c
+++ b/sys/cam/scsi/scsi_enc_ses.c
@@ -2675,13 +2675,13 @@ ses_get_elm_devnames(enc_softc_t *enc, encioc_elm_devnames_t *elmdn)
if (len < 0)
return (EINVAL);
- sbuf_new(&sb, elmdn->elm_devnames, len, 0);
-
cam_periph_unlock(enc->periph);
+ sbuf_new(&sb, NULL, len, SBUF_FIXEDLEN);
ses_paths_iter(enc, &enc->enc_cache.elm_map[elmdn->elm_idx],
ses_elmdevname_callback, &sb);
sbuf_finish(&sb);
elmdn->elm_names_len = sbuf_len(&sb);
+ copyout(sbuf_data(&sb), elmdn->elm_devnames, elmdn->elm_names_len + 1);
cam_periph_lock(enc->periph);
return (elmdn->elm_names_len > 0 ? 0 : ENODEV);
}
OpenPOWER on IntegriCloud