From c06a4680946c6be0f19342dfd2737bebee8690bd Mon Sep 17 00:00:00 2001
From: Karl DeBisschop <kdebisschop@users.sourceforge.net>
Date: Tue, 2 Mar 2004 05:01:19 +0000
Subject: 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

diff --git a/AUTHORS b/AUTHORS
index 5c8844f..65f9647 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -101,4 +101,5 @@ Matt Pounsett
 Shawn Wills
 Ralph Rye
 Jason Martin
-Jon Hallett
\ No newline at end of file
+Jon Hallett
+Flo Gleixner
diff --git a/plugins/check_swap.c b/plugins/check_swap.c
index fe792e8..1155ed0 100644
--- a/plugins/check_swap.c
+++ b/plugins/check_swap.c
@@ -73,8 +73,8 @@ main (int argc, char **argv)
 	bindtextdomain (PACKAGE, LOCALEDIR);
 	textdomain (PACKAGE);
 
-	status = strdup("");
-	perf = strdup("");
+	status = strdup ("");
+	perf = strdup ("");
 
 	if (process_arguments (argc, argv) != OK)
 		usage (_("Invalid command arguments supplied\n"));
@@ -90,7 +90,10 @@ main (int argc, char **argv)
 			used_swap += dskused;
 			free_swap += dskfree;
 			if (allswaps) {
-				percent = 100 * (((double) dskused) / ((double) dsktotal));
+				if (dsktotal == 0)
+					percent=100.0;
+				else
+					percent = 100 * (((double) dskused) / ((double) dsktotal));
 				result = max_state (result, check_swap (percent, dskfree));
 				if (verbose)
 					asprintf (&status, "%s [%llu (%d%%)]", status, dskfree, 100 - percent);
-- 
cgit v0.10-9-g596f

