From 759b3c5616f5d4ecb393ee8a74b919465a9070d5 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Sun, 14 Sep 2014 19:28:05 +0200 Subject: [PATCH] openvpn plugin: Don't signal an error when no clients are connected. In the multi1_read() function, an error (zero) was returned when no clients were currently connected to the OpenVPN server, because the "read" variable was initialized to zero and the while loop exited before it was set to one. This is not the intended behavior. Thanks to @srix for reporting this issue! Fixes: #731 --- src/openvpn.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/openvpn.c b/src/openvpn.c index 9ce23b4f..2c93a009 100644 --- a/src/openvpn.c +++ b/src/openvpn.c @@ -265,7 +265,7 @@ static int multi1_read (char *name, FILE *fh) { char buffer[1024]; char *fields[10]; - int fields_num, read = 0, found_header = 0; + int fields_num, found_header = 0; long long sum_users = 0; /* read the file until the "ROUTING TABLE" line is found (no more info after) */ @@ -312,17 +312,15 @@ static int multi1_read (char *name, FILE *fh) atoll (fields[3])); /* "Bytes Sent" */ } } - - read = 1; } + if (ferror (fh)) + return (0); + if (collect_user_count) - { numusers_submit(name, name, sum_users); - read = 1; - } - return (read); + return (1); } /* int multi1_read */ /* for reading status version 2 */ -- 2.30.2