diff options
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2004-03-02 05:01:19 +0000 |
---|---|---|
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2004-03-02 05:01:19 +0000 |
commit | c06a4680946c6be0f19342dfd2737bebee8690bd (patch) | |
tree | cf566ce6d1592df092bde3a5966f582dff2600e7 | |
parent | 3c81964713e4114d7f40f95e9373c24b596d1efd (diff) | |
download | monitoring-plugins-c06a4680946c6be0f19342dfd2737bebee8690bd.tar.gz |
fix div by zero error when swaptotal is zero (Flo Gleixner)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@834 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r-- | AUTHORS | 3 | ||||
-rw-r--r-- | plugins/check_swap.c | 9 |
2 files changed, 8 insertions, 4 deletions
@@ -101,4 +101,5 @@ Matt Pounsett | |||
101 | Shawn Wills | 101 | Shawn Wills |
102 | Ralph Rye | 102 | Ralph Rye |
103 | Jason Martin | 103 | Jason Martin |
104 | Jon Hallett \ No newline at end of file | 104 | Jon Hallett |
105 | Flo Gleixner | ||
diff --git a/plugins/check_swap.c b/plugins/check_swap.c index fe792e87..1155ed0e 100644 --- a/plugins/check_swap.c +++ b/plugins/check_swap.c | |||
@@ -73,8 +73,8 @@ main (int argc, char **argv) | |||
73 | bindtextdomain (PACKAGE, LOCALEDIR); | 73 | bindtextdomain (PACKAGE, LOCALEDIR); |
74 | textdomain (PACKAGE); | 74 | textdomain (PACKAGE); |
75 | 75 | ||
76 | status = strdup(""); | 76 | status = strdup (""); |
77 | perf = strdup(""); | 77 | perf = strdup (""); |
78 | 78 | ||
79 | if (process_arguments (argc, argv) != OK) | 79 | if (process_arguments (argc, argv) != OK) |
80 | usage (_("Invalid command arguments supplied\n")); | 80 | usage (_("Invalid command arguments supplied\n")); |
@@ -90,7 +90,10 @@ main (int argc, char **argv) | |||
90 | used_swap += dskused; | 90 | used_swap += dskused; |
91 | free_swap += dskfree; | 91 | free_swap += dskfree; |
92 | if (allswaps) { | 92 | if (allswaps) { |
93 | percent = 100 * (((double) dskused) / ((double) dsktotal)); | 93 | if (dsktotal == 0) |
94 | percent=100.0; | ||
95 | else | ||
96 | percent = 100 * (((double) dskused) / ((double) dsktotal)); | ||
94 | result = max_state (result, check_swap (percent, dskfree)); | 97 | result = max_state (result, check_swap (percent, dskfree)); |
95 | if (verbose) | 98 | if (verbose) |
96 | asprintf (&status, "%s [%llu (%d%%)]", status, dskfree, 100 - percent); | 99 | asprintf (&status, "%s [%llu (%d%%)]", status, dskfree, 100 - percent); |