From 16f6b6f17493a62a529b47c62b12c35885641c6f Mon Sep 17 00:00:00 2001 From: Conrad Meyer Date: Wed, 11 May 2016 16:42:13 +0000 Subject: [PATCH] ffs_bswap: Copy one UFS dinode member at a time No functional change. Reported by: Coverity CIDs: 974635, 974636, 977396, 977397, 977398, 977399 Sponsored by: EMC / Isilon Storage Division --- usr.sbin/makefs/ffs/ffs_bswap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/usr.sbin/makefs/ffs/ffs_bswap.c b/usr.sbin/makefs/ffs/ffs_bswap.c index e62eb1957b9e..d2a3781b3823 100644 --- a/usr.sbin/makefs/ffs/ffs_bswap.c +++ b/usr.sbin/makefs/ffs/ffs_bswap.c @@ -135,7 +135,8 @@ ffs_dinode1_swap(struct ufs1_dinode *o, struct ufs1_dinode *n) n->di_mtimensec = bswap32(o->di_mtimensec); n->di_ctime = bswap32(o->di_ctime); n->di_ctimensec = bswap32(o->di_ctimensec); - memcpy(n->di_db, o->di_db, (NDADDR + NIADDR) * sizeof(u_int32_t)); + memcpy(n->di_db, o->di_db, sizeof(n->di_db)); + memcpy(n->di_ib, o->di_ib, sizeof(n->di_ib)); n->di_flags = bswap32(o->di_flags); n->di_blocks = bswap32(o->di_blocks); n->di_gen = bswap32(o->di_gen); @@ -165,7 +166,9 @@ ffs_dinode2_swap(struct ufs2_dinode *o, struct ufs2_dinode *n) n->di_kernflags = bswap32(o->di_kernflags); n->di_flags = bswap32(o->di_flags); n->di_extsize = bswap32(o->di_extsize); - memcpy(n->di_extb, o->di_extb, (NXADDR + NDADDR + NIADDR) * 8); + memcpy(n->di_extb, o->di_extb, sizeof(n->di_extb)); + memcpy(n->di_db, o->di_db, sizeof(n->di_db)); + memcpy(n->di_ib, o->di_ib, sizeof(n->di_ib)); } void