From b67e45b858466acac1f410747893d6d717426287 Mon Sep 17 00:00:00 2001 From: Robert Buchholz Date: Thu, 19 Jul 2012 17:14:47 +0200 Subject: [PATCH] raid6check: Fix off-by-one in argument check In repair mode, specifying a failed slot that is equal to the number of devices in the raid could cause a segfault. Signed-off-by: NeilBrown --- raid6check.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/raid6check.c b/raid6check.c index aba8160..dffadbe 100644 --- a/raid6check.c +++ b/raid6check.c @@ -416,12 +416,12 @@ int main(int argc, char *argv[]) failed_disk1 = getnum(argv[4], &err); failed_disk2 = getnum(argv[5], &err); - if(failed_disk1 > info->array.raid_disks) { + if(failed_disk1 >= info->array.raid_disks) { fprintf(stderr, "%s: failed_slot_1 index is higher than number of devices in raid\n", prg); exit_err = 4; goto exitHere; } - if(failed_disk2 > info->array.raid_disks) { + if(failed_disk2 >= info->array.raid_disks) { fprintf(stderr, "%s: failed_slot_2 index is higher than number of devices in raid\n", prg); exit_err = 4; goto exitHere;