summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Kusiak <mateusz.kusiak@intel.com>2021-08-12 13:48:48 +0200
committerJes Sorensen <jsorensen@fb.com>2021-08-13 15:21:12 -0400
commitfeeb2785e67f084cb5d706fe5f074ade50bece78 (patch)
tree69a0a80e0f17550e7c24afe2b580df196dd22809
parentb8bbf264ee336a196409bf10a497384a4a5a1b50 (diff)
downloadmdadm-master.tar.gz
Utils: Change sprintf to snprintfHEADmaster
Using sprintf can cause segmentation fault by exceeding the size of buffer array. Signed-off-by: Mateusz Kusiak <mateusz.kusiak@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
-rw-r--r--util.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/util.c b/util.c
index cdf1da24..ea07277c 100644
--- a/util.c
+++ b/util.c
@@ -947,12 +947,12 @@ dev_t devnm2devid(char *devnm)
/* First look in /sys/block/$DEVNM/dev for %d:%d
* If that fails, try parsing out a number
*/
- char path[100];
+ char path[PATH_MAX];
char *ep;
int fd;
int mjr,mnr;
- sprintf(path, "/sys/block/%s/dev", devnm);
+ snprintf(path, sizeof(path), "/sys/block/%s/dev", devnm);
fd = open(path, O_RDONLY);
if (fd >= 0) {
char buf[20];