diff options
Diffstat (limited to 'plugins/check_swap.c')
| -rw-r--r-- | plugins/check_swap.c | 9 |
1 files changed, 6 insertions, 3 deletions
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); |
