diff options
author | Neil Brown <neilb@suse.de> | 2005-06-14 00:21:36 +0000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2005-06-14 00:21:36 +0000 |
commit | 8fd94e35a65a4f434d49e94361c24a650dc6819e (patch) | |
tree | 7ae6b31fd2616410a719edfae95292488d8c85e9 | |
parent | 331d4d2a33e5213ed3e149b68bf38b2dc8d83494 (diff) | |
download | mdadm-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-- | ChangeLog | 1 | ||||
-rw-r--r-- | Examine.c | 2 | ||||
-rw-r--r-- | mdopen.c | 5 | ||||
-rw-r--r-- | util.c | 18 |
4 files changed, 14 insertions, 12 deletions
@@ -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. @@ -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"); @@ -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; @@ -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; |