summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2005-06-14 00:21:36 +0000
committerNeil Brown <neilb@suse.de>2005-06-14 00:21:36 +0000
commit8fd94e35a65a4f434d49e94361c24a650dc6819e (patch)
tree7ae6b31fd2616410a719edfae95292488d8c85e9
parent331d4d2a33e5213ed3e149b68bf38b2dc8d83494 (diff)
downloadmdadm-8fd94e35a65a4f434d49e94361c24a650dc6819e.tar.gz
mdadm-8fd94e35a65a4f434d49e94361c24a650dc6819e.tar.xz
mdadm-8fd94e35a65a4f434d49e94361c24a650dc6819e.zip
Replace sprintf calls with snprintf
To quiet diet-libc Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
-rw-r--r--ChangeLog1
-rw-r--r--Examine.c2
-rw-r--r--mdopen.c5
-rw-r--r--util.c18
4 files changed, 14 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 42d7069..3ce1b6f 100644
--- 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.
diff --git a/Examine.c b/Examine.c
index 898d2a5..a79c981 100644
--- 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");
diff --git a/mdopen.c b/mdopen.c
index 9309fbd..81cf725 100644
--- 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 e5b7256..45d4bcd 100644
--- 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;