diff options
| author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-01-16 05:17:10 +0000 |
|---|---|---|
| committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-01-16 05:17:10 +0000 |
| commit | b6f64e12900d1dc308a3325b4c5d80e76eade984 (patch) | |
| tree | ca1e27a07627109b8a3021b4d682c6dc05826008 | |
| parent | 7f7188e8de0a21d7846d0b0abcaa9fd38208ffbc (diff) | |
| download | monitoring-plugins-b6f64e12900d1dc308a3325b4c5d80e76eade984.tar.gz | |
avoid segfault when host is not given
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@240 f882894a-f735-0410-b71e-b25c423dba1c
| -rw-r--r-- | plugins/check_by_ssh.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c index 5c505309..34e67274 100644 --- a/plugins/check_by_ssh.c +++ b/plugins/check_by_ssh.c | |||
| @@ -283,14 +283,19 @@ process_arguments (int argc, char **argv) | |||
| 283 | 283 | ||
| 284 | c = optind; | 284 | c = optind; |
| 285 | if (hostname == NULL) { | 285 | if (hostname == NULL) { |
| 286 | if (!is_host (argv[c])) | 286 | if (c <= argc) { |
| 287 | terminate (STATE_UNKNOWN, "%s: You must provide a host name\n", progname); | ||
| 288 | } else if (!is_host (argv[c])) | ||
| 287 | terminate (STATE_UNKNOWN, "%s: Invalid host name %s\n", progname, argv[c]); | 289 | terminate (STATE_UNKNOWN, "%s: Invalid host name %s\n", progname, argv[c]); |
| 288 | hostname = argv[c++]; | 290 | hostname = argv[c++]; |
| 289 | } | 291 | } |
| 290 | 292 | ||
| 291 | if (strlen(remotecmd) == 0) { | 293 | if (strlen(remotecmd) == 0) { |
| 292 | for (; c < argc; c++) | 294 | for (; c < argc; c++) |
| 293 | asprintf (&remotecmd, "%s %s", remotecmd, argv[c]); | 295 | if (strlen(remotecmd) > 0) |
| 296 | asprintf (&remotecmd, "%s %s", remotecmd, argv[c]); | ||
| 297 | else | ||
| 298 | asprintf (&remotecmd, "%s", argv[c]); | ||
| 294 | } | 299 | } |
| 295 | 300 | ||
| 296 | if (commands > 1) | 301 | if (commands > 1) |
