diff --git a/src/openvpn.c b/src/openvpn.c
index 9ce23b4f4cb9c9e2550e86d337a866a451931404..5060425e5671de3a63821bec6057e59a547972b4 100644 (file)
--- a/src/openvpn.c
+++ b/src/openvpn.c
post_compress = 0;
pre_decompress = 0;
post_decompress = 0;
- overhead_rx = 0;
- overhead_tx = 0;
while (fgets (buffer, sizeof (buffer), fh) != NULL)
{
{
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) */
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 */
/* call the right read function for every status entry in the list */
for (i = 0; i < vpn_num; i++)
{
+ int vpn_read = 0;
+
fh = fopen (vpn_list[i]->file, "r");
if (fh == NULL)
{
/* create a new vpn element since file, version and name are ok */
temp = (vpn_status_t *) malloc (sizeof (vpn_status_t));
+ if (temp == NULL)
+ {
+ char errbuf[1024];
+ ERROR ("openvpn plugin: malloc failed: %s",
+ sstrerror (errno, errbuf, sizeof (errbuf)));
+ sfree (status_file);
+ return (1);
+ }
temp->file = status_file;
temp->version = status_version;
temp->name = status_name;
if (vpn_list == NULL)
{
char errbuf[1024];
- ERROR ("openvpn plugin: malloc failed: %s",
+ ERROR ("openvpn plugin: realloc failed: %s",
sstrerror (errno, errbuf, sizeof (errbuf)));
sfree (temp->file);