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 :");
|
printf(" Member Arrays :");
|
||||||
|
|
||||||
while (dir && (de = readdir(dir)) != NULL) {
|
while (dir && (de = readdir(dir)) != NULL) {
|
||||||
char path[200];
|
char path[287];
|
||||||
char vbuf[1024];
|
char vbuf[1024];
|
||||||
int nlen = strlen(sra->sys_name);
|
int nlen = strlen(sra->sys_name);
|
||||||
dev_t devid;
|
dev_t devid;
|
||||||
|
|
2
super0.c
2
super0.c
|
@ -231,7 +231,7 @@ static void examine_super0(struct supertype *st, char *homehost)
|
||||||
d++) {
|
d++) {
|
||||||
mdp_disk_t *dp;
|
mdp_disk_t *dp;
|
||||||
char *dv;
|
char *dv;
|
||||||
char nb[5];
|
char nb[11];
|
||||||
int wonly, failfast;
|
int wonly, failfast;
|
||||||
if (d>=0) dp = &sb->disks[d];
|
if (d>=0) dp = &sb->disks[d];
|
||||||
else dp = &sb->this_disk;
|
else dp = &sb->this_disk;
|
||||||
|
|
2
util.c
2
util.c
|
@ -811,7 +811,7 @@ unsigned long calc_csum(void *super, int bytes)
|
||||||
#ifndef MDASSEMBLE
|
#ifndef MDASSEMBLE
|
||||||
char *human_size(long long bytes)
|
char *human_size(long long bytes)
|
||||||
{
|
{
|
||||||
static char buf[30];
|
static char buf[47];
|
||||||
|
|
||||||
/* We convert bytes to either centi-M{ega,ibi}bytes or
|
/* We convert bytes to either centi-M{ega,ibi}bytes or
|
||||||
* centi-G{igi,ibi}bytes, with appropriate rounding,
|
* centi-G{igi,ibi}bytes, with appropriate rounding,
|
||||||
|
|
Loading…
Reference in New Issue