diff options
author | Sebastian Harl <sh@teamix.net> | 2011-04-28 09:18:21 +0200 |
---|---|---|
committer | Thomas Guyot-Sionnest <dermoth@aei.ca> | 2011-04-28 20:42:53 -0400 |
commit | 5ebe25fc24d33cf2d7b46fce9e746a58e0115010 (patch) | |
tree | 25b36b76141d4253d56e58c158a1e6c1c32573ee /plugins-root | |
parent | 1bc7a4a198aefde2389c9c1685baed0da7856bf5 (diff) | |
download | monitoring-plugins-5ebe25fc24d33cf2d7b46fce9e746a58e0115010.tar.gz |
check_host: Allocate a large-enough buffer for the host table.
When specifying a host-name on the command line, each of its IPs is added to
the host table (and each one is pinged). So, the buffer has to be large enough
to hold all of the respective host objects. (argc - 1) only fits hosts with a
single IP.
Thanks to Max Kosmach <max@tcen.ru> for reporting this in Debian bug #623702.
Diffstat (limited to 'plugins-root')
-rw-r--r-- | plugins-root/check_icmp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c index 6d8ba099..fe8fc56f 100644 --- a/plugins-root/check_icmp.c +++ b/plugins-root/check_icmp.c @@ -621,7 +621,7 @@ main(int argc, char **argv) } host = list; - table = malloc(sizeof(struct rta_host **) * (argc - 1)); + table = malloc(sizeof(struct rta_host **) * targets); i = 0; while(host) { host->id = i*packets; |