Code

openvpn: Fixed openvpn_read() on empty configuration.
[collectd.git] / src / openvpn.c
index 8bbb82b20ddb28afac7f432f9f13bdd1642325c9..be9a4dc863e383ca006660faeb3501c7020436b1 100644 (file)
@@ -522,12 +522,15 @@ static int multi4_read (const char *name, FILE *fh)
 static int openvpn_read (void)
 {
        FILE *fh;
-       int  i, read;
+       int  read;
 
        read = 0;
+       
+       if (vpn_num == 0)
+               return (0);
 
        /* call the right read function for every status entry in the list */
-       for (i = 0; i < vpn_num; i++)
+       for (int i = 0; i < vpn_num; i++)
        {
                int vpn_read = 0;
 
@@ -651,7 +654,7 @@ static int openvpn_config (const char *key, const char *value)
        if (strcasecmp ("StatusFile", key) == 0)
        {
                char    *status_file, *status_name, *filename;
-               int     status_version, i;
+               int     status_version;
                vpn_status_t *temp;
 
                /* try to detect the status file format */
@@ -659,8 +662,8 @@ static int openvpn_config (const char *key, const char *value)
 
                if (status_version == 0)
                {
-                       WARNING ("openvpn plugin: unable to detect status version, \
-                                       discarding status file \"%s\".", value);
+                       WARNING ("openvpn plugin: unable to detect status version, "
+                                       "discarding status file \"%s\".", value);
                        return (1);
                }
 
@@ -687,7 +690,7 @@ static int openvpn_config (const char *key, const char *value)
                }
 
                /* scan the list looking for a clone */
-               for (i = 0; i < vpn_num; i++)
+               for (int i = 0; i < vpn_num; i++)
                {
                        if (strcasecmp (vpn_list[i]->name, status_name) == 0)
                        {
@@ -778,9 +781,7 @@ static int openvpn_config (const char *key, const char *value)
 /* shutdown callback */
 static int openvpn_shutdown (void)
 {
-       int i;
-
-       for (i = 0; i < vpn_num; i++)
+       for (int i = 0; i < vpn_num; i++)
        {
                sfree (vpn_list[i]->file);
                sfree (vpn_list[i]);