diff options
| author | Andreas Baumann <mail@andreasbaumann.cc> | 2021-02-08 20:13:47 +0100 |
|---|---|---|
| committer | Andreas Baumann <mail@andreasbaumann.cc> | 2021-02-08 20:13:47 +0100 |
| commit | a260c798de4546ed931e58f76f940eb1e775c54f (patch) | |
| tree | db3b0738b19b36acb997c4b596056f0b44075466 | |
| parent | d9a5d1faf0400b9da47dee516c035da1a93dc12c (diff) | |
| parent | 05d7f70d4553e19ea5eb27ec5c97098f014550df (diff) | |
| download | monitoring-plugins-a260c798de4546ed931e58f76f940eb1e775c54f.tar.gz | |
Merge branch 'master' into feature_check_curl
| -rw-r--r-- | plugins/check_dns.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/check_dns.c b/plugins/check_dns.c index b90f50e6..0f2e6541 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c | |||
| @@ -473,9 +473,23 @@ process_arguments (int argc, char **argv) | |||
| 473 | case 'a': /* expected address */ | 473 | case 'a': /* expected address */ |
| 474 | if (strlen (optarg) >= ADDRESS_LENGTH) | 474 | if (strlen (optarg) >= ADDRESS_LENGTH) |
| 475 | die (STATE_UNKNOWN, _("Input buffer overflow\n")); | 475 | die (STATE_UNKNOWN, _("Input buffer overflow\n")); |
| 476 | expected_address = (char **)realloc(expected_address, (expected_address_cnt+1) * sizeof(char**)); | 476 | if (strchr(optarg, ',') != NULL) { |
| 477 | expected_address[expected_address_cnt] = strdup(optarg); | 477 | char *comma = strchr(optarg, ','); |
| 478 | expected_address_cnt++; | 478 | while (comma != NULL) { |
| 479 | expected_address = (char **)realloc(expected_address, (expected_address_cnt+1) * sizeof(char**)); | ||
| 480 | expected_address[expected_address_cnt] = strndup(optarg, comma - optarg); | ||
| 481 | expected_address_cnt++; | ||
| 482 | optarg = comma + 1; | ||
| 483 | comma = strchr(optarg, ','); | ||
| 484 | } | ||
| 485 | expected_address = (char **)realloc(expected_address, (expected_address_cnt+1) * sizeof(char**)); | ||
| 486 | expected_address[expected_address_cnt] = strdup(optarg); | ||
| 487 | expected_address_cnt++; | ||
| 488 | } else { | ||
| 489 | expected_address = (char **)realloc(expected_address, (expected_address_cnt+1) * sizeof(char**)); | ||
| 490 | expected_address[expected_address_cnt] = strdup(optarg); | ||
| 491 | expected_address_cnt++; | ||
| 492 | } | ||
| 479 | break; | 493 | break; |
| 480 | case 'A': /* expect authority */ | 494 | case 'A': /* expect authority */ |
| 481 | expect_authority = TRUE; | 495 | expect_authority = TRUE; |
