diff options
author | mav <mav@FreeBSD.org> | 2016-10-26 07:45:48 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2016-10-26 07:45:48 +0000 |
commit | 1e74d3419b0da1ebb8106c23763e29c3ddacfc5a (patch) | |
tree | 4b57c89635e35a401441825e16e048a194a5bd7f | |
parent | c4ea095d31613b4c6ba16691ee347e97ed30899f (diff) | |
download | FreeBSD-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.c | 4 |
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); } |