diff options
author | Lukasz Dorau <lukasz.dorau@intel.com> | 2012-01-12 10:40:00 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2012-01-12 10:40:00 +1100 |
commit | 8453f8d0df0111cfd25e984afb7a64153b04bc27 (patch) | |
tree | 465a758f494f06382345f1e8f55593dc435bbb3a | |
parent | 68226a80812cd9fce63dbd14d2225ffdf16a781b (diff) |
fix: Monitor sometimes crashes
The "char cnt [40]" buffer is sometimes too small to hold all message
- in such case monitor crashes.
The buffer must be larger to be able to hold all message.
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | Monitor.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -563,8 +563,9 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat, struct mdinfo *sra = sysfs_read(-1, st->devnum, GET_MISMATCH); if (sra && sra->mismatch_cnt > 0) { - char cnt[40]; - sprintf(cnt, " mismatches found: %d (on raid level %d)", + char cnt[80]; + snprintf(cnt, sizeof(cnt), + " mismatches found: %d (on raid level %d)", sra->mismatch_cnt, array.level); alert("RebuildFinished", dev, cnt, ainfo); } else |