From c9d61adbf8f422fe8d3bda45d9de9e82c757d0b0 Mon Sep 17 00:00:00 2001 From: cao Date: Fri, 30 Sep 2016 03:06:14 +0800 Subject: [PATCH] Fix coverity defects: 147658, 147652, 147651 coverity scan CID:147658, Type:copy into fixed size buffer. coverity scan CID:147652, Type:copy into fixed size buffer. coverity scan CID:147651, Type:copy into fixed size buffer. Reviewed-by: Richard Laager Reviewed-by: Brian Behlendorf Signed-off-by: cao.xuewen Closes #5160 --- lib/libzfs/libzfs_sendrecv.c | 3 ++- module/zfs/dsl_dataset.c | 3 ++- module/zfs/dsl_dir.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/libzfs/libzfs_sendrecv.c b/lib/libzfs/libzfs_sendrecv.c index 959986389..e409899a2 100644 --- a/lib/libzfs/libzfs_sendrecv.c +++ b/lib/libzfs/libzfs_sendrecv.c @@ -1221,7 +1221,8 @@ dump_snapshot(zfs_handle_t *zhp, void *arg) if (!sdd->seenfrom && isfromsnap) { gather_holds(zhp, sdd); sdd->seenfrom = B_TRUE; - (void) strcpy(sdd->prevsnap, thissnap); + (void) strlcpy(sdd->prevsnap, thissnap, + sizeof (sdd->prevsnap)); sdd->prevsnap_obj = zfs_prop_get_int(zhp, ZFS_PROP_OBJSETID); zfs_close(zhp); return (0); diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c index 0f0783b7d..d4a3a9e41 100644 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@ -2072,7 +2072,8 @@ dsl_dataset_rename_snapshot_sync_impl(dsl_pool_t *dp, VERIFY0(dsl_dataset_snap_remove(hds, ddrsa->ddrsa_oldsnapname, tx, B_FALSE)); mutex_enter(&ds->ds_lock); - (void) strcpy(ds->ds_snapname, ddrsa->ddrsa_newsnapname); + (void) strlcpy(ds->ds_snapname, ddrsa->ddrsa_newsnapname, + sizeof (ds->ds_snapname)); mutex_exit(&ds->ds_lock); VERIFY0(zap_add(dp->dp_meta_objset, dsl_dataset_phys(hds)->ds_snapnames_zapobj, diff --git a/module/zfs/dsl_dir.c b/module/zfs/dsl_dir.c index 59d382214..b21735235 100644 --- a/module/zfs/dsl_dir.c +++ b/module/zfs/dsl_dir.c @@ -1904,7 +1904,8 @@ dsl_dir_rename_sync(void *arg, dmu_tx_t *tx) dd->dd_myname, tx); ASSERT0(error); - (void) strcpy(dd->dd_myname, mynewname); + (void) strlcpy(dd->dd_myname, mynewname, + sizeof (dd->dd_myname)); dsl_dir_rele(dd->dd_parent, dd); dsl_dir_phys(dd)->dd_parent_obj = newparent->dd_object; VERIFY0(dsl_dir_hold_obj(dp, -- 2.40.0