diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-01-16 05:17:10 (GMT) |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-01-16 05:17:10 (GMT) |
commit | b6f64e12900d1dc308a3325b4c5d80e76eade984 (patch) | |
tree | ca1e27a07627109b8a3021b4d682c6dc05826008 /plugins | |
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
Diffstat (limited to 'plugins')
-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 5c50530..34e6727 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) |