]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Replace sprintf calls with snprintf
authorNeil Brown <neilb@suse.de>
Tue, 14 Jun 2005 00:21:36 +0000 (00:21 +0000)
committerNeil Brown <neilb@suse.de>
Tue, 14 Jun 2005 00:21:36 +0000 (00:21 +0000)
To quiet diet-libc

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
ChangeLog
Examine.c
mdopen.c
util.c

index 42d7069c9675af81d674590924934fe6804d40bd..3ce1b6f38b18ac659eb394c5eef313772c8dc532 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -25,6 +25,7 @@ Changes Prior to 1.12.0 release
     -   When device files are made with "--assemble --auto",
        add them to the list of known device name, so that 
        assembling stacked devices has a better chance of working.
+    -   Replace sprintf calls with snprintf (to quiet diet-libc)
        
 Changes Prior to 1.11.0 release
     -   Fix embarassing bug which causes --add to always fail.
index 898d2a5f39c97d92cdee9c76ba522cd5f0a1834b..a79c981bd4f281d87106df54feb92125e5688742 100644 (file)
--- a/Examine.c
+++ b/Examine.c
@@ -211,7 +211,7 @@ int Examine(mddev_dev_t devlist, int brief, int scan, int SparcAdjust)
                                char nb[5];
                                if (d>=0) dp = &super.disks[d];
                                else dp = &super.this_disk;
-                               sprintf(nb, "%4d", d);
+                               snprintf(nb, sizeof(nb), "%4d", d);
                                printf("%4s %5d   %5d    %5d    %5d     ", d < 0 ? "this" :  nb,
                                       dp->number, dp->major, dp->minor, dp->raid_disk);
                                if (dp->state & (1<<MD_DISK_FAULTY)) printf(" faulty");
index 9309fbd2f1a165224608883c624ecc667ad5e20f..81cf725b02c8c0f3e3b9de3e52c0d781e6ac3f43 100644 (file)
--- a/mdopen.c
+++ b/mdopen.c
@@ -42,7 +42,8 @@ void make_parts(char *dev, int cnt)
        struct stat stb;
        int major, minor;
        int i;
-       char *name = malloc(strlen(dev) + 20);
+       int nlen = strlen(dev) + 20;
+       char *name = malloc(nlen);
        int dig = isdigit(dev[strlen(dev)-1]);
 
        if (stat(dev, &stb)!= 0)
@@ -53,7 +54,7 @@ void make_parts(char *dev, int cnt)
        minor = minor(stb.st_rdev);
        for (i=1; i <= cnt ; i++) {
                struct stat stb2;
-               sprintf(name, "%s%s%d", dev, dig?"p":"", i);
+               snprintf(name, nlen, "%s%s%d", dev, dig?"p":"", i);
                if (stat(name, &stb2)==0) {
                        if (!S_ISBLK(stb2.st_mode))
                                continue;
diff --git a/util.c b/util.c
index e5b7256ee8694614720961f49508aaf159843293..45d4bcd68f6fc5ba87734f7a2220459b81be169e 100644 (file)
--- a/util.c
+++ b/util.c
@@ -551,13 +551,13 @@ char *human_size(long long bytes)
        else if (bytes < 2*1024LL*1024LL*1024LL) {
                long cMiB = (bytes / ( (1LL<<20) / 200LL ) +1) /2;
                long cMB  = (bytes / ( 1000000LL / 200LL ) +1) /2;
-               sprintf(buf, " (%ld.%02ld MiB %ld.%02ld MB)",
+               snprintf(buf, sizeof(buf), " (%ld.%02ld MiB %ld.%02ld MB)",
                        cMiB/100 , cMiB % 100,
                        cMB/100, cMB % 100);
        } else {
                long cGiB = (bytes / ( (1LL<<30) / 200LL ) +1) /2;
                long cGB  = (bytes / (1000000000LL/200LL ) +1) /2;
-               sprintf(buf, " (%ld.%02ld GiB %ld.%02ld GB)",
+               snprintf(buf, sizeof(buf), " (%ld.%02ld GiB %ld.%02ld GB)",
                        cGiB/100 , cGiB % 100,
                        cGB/100, cGB % 100);
        }
@@ -570,16 +570,16 @@ char *human_size_brief(long long bytes)
        
 
        if (bytes < 5000*1024)
-               sprintf(buf, "%ld.%02ldKiB",
+               snprintf(buf, sizeof(buf), "%ld.%02ldKiB",
                        (long)(bytes>>10), (long)(((bytes&1023)*100+512)/1024)
                        );
        else if (bytes < 2*1024LL*1024LL*1024LL)
-               sprintf(buf, "%ld.%02ldMiB",
+               snprintf(buf, sizeof(buf), "%ld.%02ldMiB",
                        (long)(bytes>>20),
                        (long)((bytes&0xfffff)+0x100000/200)/(0x100000/100)
                        );
        else
-               sprintf(buf, "%ld.%02ldGiB",
+               snprintf(buf, sizeof(buf), "%ld.%02ldGiB",
                        (long)(bytes>>30),
                        (long)(((bytes>>10)&0xfffff)+0x100000/200)/(0x100000/100)
                        );
@@ -629,20 +629,20 @@ char *get_md_name(int dev)
                int mdp =  get_mdp_major();
                if (mdp < 0) return NULL;
                rdev = makedev(mdp, (-1-dev)<<6);
-               sprintf(devname, "/dev/md/d%d", -1-dev);
+               snprintf(devname, sizeof(devname), "/dev/md/d%d", -1-dev);
                if (stat(devname, &stb) == 0
                    && (S_IFMT&stb.st_mode) == S_IFBLK
                    && (stb.st_rdev == rdev))
                        return devname;
        } else {
                rdev = makedev(MD_MAJOR, dev);
-               sprintf(devname, "/dev/md%d", dev);
+               snprintf(devname, sizeof(devname), "/dev/md%d", dev);
                if (stat(devname, &stb) == 0
                    && (S_IFMT&stb.st_mode) == S_IFBLK
                    && (stb.st_rdev == rdev))
                        return devname;
 
-               sprintf(devname, "/dev/md/%d", dev);
+               snprintf(devname, sizeof(devname), "/dev/md/%d", dev);
                if (stat(devname, &stb) == 0
                    && (S_IFMT&stb.st_mode) == S_IFBLK
                    && (stb.st_rdev == rdev))
@@ -651,7 +651,7 @@ char *get_md_name(int dev)
        dn = map_dev(major(rdev), minor(rdev));
        if (dn)
                return dn;
-       sprintf(devname, "/dev/.tmp.md%d", dev);
+       snprintf(devname, sizeof(devname), "/dev/.tmp.md%d", dev);
        if (mknod(devname, S_IFBLK | 0600, rdev) == -1)
                if (errno != EEXIST)
                        return NULL;