diff options
| author | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-10-31 01:47:26 +0100 |
|---|---|---|
| committer | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-10-31 01:47:26 +0100 |
| commit | cff821257bebdbfba87d183726ea9672625c2e77 (patch) | |
| tree | 70cb6d273af0fa999d73f797812bb06efc0e5697 /plugins | |
| parent | 77e38ac1c025b8431d1834a2c1059f9677c78ab1 (diff) | |
| download | monitoring-plugins-cff821257bebdbfba87d183726ea9672625c2e77.tar.gz | |
check_users: Change option for sanity checking arguments to avoid segfault
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_users.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/plugins/check_users.c b/plugins/check_users.c index 7cf7a2cc..916a691d 100644 --- a/plugins/check_users.c +++ b/plugins/check_users.c | |||
| @@ -227,18 +227,23 @@ process_arguments (int argc, char **argv) | |||
| 227 | } | 227 | } |
| 228 | 228 | ||
| 229 | c = optind; | 229 | c = optind; |
| 230 | |||
| 230 | if (warning_range == NULL && argc > c) | 231 | if (warning_range == NULL && argc > c) |
| 231 | warning_range = argv[c++]; | 232 | warning_range = argv[c++]; |
| 233 | |||
| 232 | if (critical_range == NULL && argc > c) | 234 | if (critical_range == NULL && argc > c) |
| 233 | critical_range = argv[c++]; | 235 | critical_range = argv[c++]; |
| 234 | 236 | ||
| 235 | /* this will abort in case of invalid ranges */ | 237 | /* this will abort in case of invalid ranges */ |
| 236 | set_thresholds (&thlds, warning_range, critical_range); | 238 | set_thresholds (&thlds, warning_range, critical_range); |
| 237 | 239 | ||
| 238 | if (thlds->warning->end < 0) | 240 | if (!thlds->warning) { |
| 239 | usage4 (_("Warning threshold must be a positive integer")); | 241 | usage4 (_("Warning threshold must be a valid range expression")); |
| 240 | if (thlds->critical->end < 0) | 242 | } |
| 241 | usage4 (_("Critical threshold must be a positive integer")); | 243 | |
| 244 | if (!thlds->critical) { | ||
| 245 | usage4 (_("Critical threshold must be a valid range expression")); | ||
| 246 | } | ||
| 242 | 247 | ||
| 243 | return OK; | 248 | return OK; |
| 244 | } | 249 | } |
