diff options
| author | mlelstv <mlelstv@NetBSD.org> | 2019-09-26 10:33:30 +0000 |
|---|---|---|
| committer | mlelstv <mlelstv@NetBSD.org> | 2019-09-26 10:33:30 +0000 |
| commit | 8c8ac975202000cccc212c231ee210e8bee95d40 (patch) | |
| tree | 2c14ebb49f9339afe6a465cea4cc424071eb0d91 /sbin/raidctl/raidctl.c | |
| parent | f0d170cdb788ed04cca252d1f92afb4b83bcd4b6 (diff) | |
nspares is now unsigned. Validate and use as positive integer.
Diffstat (limited to 'sbin/raidctl/raidctl.c')
| -rw-r--r-- | sbin/raidctl/raidctl.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/sbin/raidctl/raidctl.c b/sbin/raidctl/raidctl.c index 11a3ed133fc..4ebcb16380c 100644 --- a/sbin/raidctl/raidctl.c +++ b/sbin/raidctl/raidctl.c @@ -1,4 +1,4 @@ -/* $NetBSD: raidctl.c,v 1.69 2019/02/06 22:38:10 oster Exp $ */ +/* $NetBSD: raidctl.c,v 1.70 2019/09/26 10:33:30 mlelstv Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: raidctl.c,v 1.69 2019/02/06 22:38:10 oster Exp $"); +__RCSID("$NetBSD: raidctl.c,v 1.70 2019/09/26 10:33:30 mlelstv Exp $"); #endif @@ -430,7 +430,7 @@ rf_get_device_status(int fd) RF_DeviceConfig_t device_config; void *cfg_ptr; int is_clean; - int i; + int i, nspares; cfg_ptr = &device_config; @@ -441,9 +441,13 @@ rf_get_device_status(int fd) printf("%20s: %s\n", device_config.devs[i].devname, device_status(device_config.devs[i].status)); } - if (device_config.nspares > 0) { + + nspares = uimin(device_config.nspares, + __arraycount(device_config.spares)); + + if (nspares > 0) { printf("Spares:\n"); - for(i=0; i < device_config.nspares; i++) { + for(i=0; i < nspares; i++) { printf("%20s: %s\n", device_config.spares[i].devname, device_status(device_config.spares[i].status)); @@ -461,8 +465,8 @@ rf_get_device_status(int fd) } } - if (device_config.nspares > 0) { - for(i=0; i < device_config.nspares; i++) { + if (nspares > 0) { + for(i=0; i < nspares; i++) { if ((device_config.spares[i].status == rf_ds_optimal) || (device_config.spares[i].status == |
