Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > dc948d25f891be444a16c1bdb598d9cd > files > 2

dosfstools-2.11-6.1mdv2008.0.src.rpm

This violates -D_FORTIFY_SOURCE=2 (which is stricter than C standard),
but isn't actually any buffer overflow.
But using memcpy is more efficient anyway.

--- dosfstools-2.11/mkdosfs/mkdosfs.c.jj	2005-12-18 14:49:16.000000000 -0500
+++ dosfstools-2.11/mkdosfs/mkdosfs.c	2005-12-18 14:49:16.000000000 -0500
@@ -805,7 +805,7 @@ setup_tables (void)
       /* On Atari, the first few bytes of the boot sector are assigned
        * differently: The jump code is only 2 bytes (and m68k machine code
        * :-), then 6 bytes filler (ignored), then 3 byte serial number. */
-    strncpy( bs.system_id-1, "mkdosf", 6 );
+    memcpy( bs.system_id-1, "mkdosf", 6 );
   else
     strcpy (bs.system_id, "mkdosfs");
   if (sectors_per_cluster)