btrfs-progs: fix a buffer overflow during mkfs
authorJan Engelhardt <jengelh@computergmbh.de>
Tue, 22 Jan 2008 16:32:06 +0000 (11:32 -0500)
committerDavid Woodhouse <dwmw2@hera.kernel.org>
Tue, 22 Jan 2008 16:32:06 +0000 (11:32 -0500)
Using strncpy avoids a 1 byte overflow into the next field
of the struct.  The overflow is harmless, but does
trip automated tools.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
---
 utils.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

utils.c

diff --git a/utils.c b/utils.c
index a1a38a7..3a618ac 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -63,7 +63,7 @@ int make_btrfs(int fd, u64 blocks[4], u64 num_bytes, u32 nodesize,
        num_bytes = (num_bytes / sectorsize) * sectorsize;
        uuid_generate(super.fsid);
        btrfs_set_super_bytenr(&super, blocks[0]);
-       strcpy((char *)(&super.magic), BTRFS_MAGIC);
+       strncpy((char *)&super.magic, BTRFS_MAGIC, sizeof(super.magic));
        btrfs_set_super_generation(&super, 1);
        btrfs_set_super_root(&super, blocks[1]);
        btrfs_set_super_total_bytes(&super, num_bytes);