From: Lukasz Dorau Date: Wed, 11 Jan 2012 23:40:00 +0000 (+1100) Subject: fix: Monitor sometimes crashes X-Git-Tag: mdadm-3.2.4~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8453f8d0df0111cfd25e984afb7a64153b04bc27;p=thirdparty%2Fmdadm.git 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 Signed-off-by: NeilBrown --- diff --git a/Monitor.c b/Monitor.c index 8bc88247..77f22aa3 100644 --- a/Monitor.c +++ b/Monitor.c @@ -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