mdadm: Specify enough length when write to buffer
In Detail.c the buffer path in function Detail is defined as path[200], in fact the max lenth of content which needs to write to the buffer is 287. Because the length of dname of struct dirent is 255. During building it reports error: error: ‘%s’ directive writing up to 255 bytes into a region of size 189 [-Werror=format-overflow=] In function examine_super0 there is a buffer nb with length 5. But it need to show a int type argument. The lenght of max number of int is 10. So the buffer length should be 11. In human_size function the length of buf is 30. During building there is a error: output between 20 and 47 bytes into a destination of size 30. Change the length to 47. Signed-off-by: Xiao Ni <xni@redhat.com> Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
This commit is contained in:
parent
8268821b43
commit
ff9239ee31
2
Detail.c
2
Detail.c
|
@ -575,7 +575,7 @@ This is pretty boring
|
|||
printf(" Member Arrays :");
|
||||
|
||||
while (dir && (de = readdir(dir)) != NULL) {
|
||||
char path[200];
|
||||
char path[287];
|
||||
char vbuf[1024];
|
||||
int nlen = strlen(sra->sys_name);
|
||||
dev_t devid;
|
||||
|
|
2
super0.c
2
super0.c
|
@ -231,7 +231,7 @@ static void examine_super0(struct supertype *st, char *homehost)
|
|||
d++) {
|
||||
mdp_disk_t *dp;
|
||||
char *dv;
|
||||
char nb[5];
|
||||
char nb[11];
|
||||
int wonly, failfast;
|
||||
if (d>=0) dp = &sb->disks[d];
|
||||
else dp = &sb->this_disk;
|
||||
|
|
Loading…
Reference in New Issue