projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
df8e5c1
)
gmond plugin: Fix memory leak.
author
Florian Forster
<octo@collectd.org>
Fri, 19 Jun 2015 08:54:02 +0000
(10:54 +0200)
committer
Florian Forster
<octo@collectd.org>
Fri, 19 Jun 2015 08:54:02 +0000
(10:54 +0200)
src/gmond.c
patch
|
blob
|
history
diff --git
a/src/gmond.c
b/src/gmond.c
index
ff4936d
..
7c9028a
100644
(file)
--- a/
src/gmond.c
+++ b/
src/gmond.c
@@
-217,13
+217,13
@@
static int create_sockets (socket_entry_t **ret_sockets, /* {{{ */
struct addrinfo *ai_ptr;
int ai_return;
struct addrinfo *ai_ptr;
int ai_return;
- socket_entry_t *sockets;
- size_t sockets_num;
+ socket_entry_t *sockets
= NULL
;
+ size_t sockets_num
= 0
;
int status;
int status;
-
- sockets = *ret_sockets;
-
sockets_num = *ret_sockets_num
;
+
+ if (*ret_sockets != NULL)
+
return (EINVAL)
;
memset (&ai_hints, 0, sizeof (ai_hints));
ai_hints.ai_flags = 0;
memset (&ai_hints, 0, sizeof (ai_hints));
ai_hints.ai_flags = 0;
@@
-355,8
+355,11
@@
static int create_sockets (socket_entry_t **ret_sockets, /* {{{ */
freeaddrinfo (ai_list);
freeaddrinfo (ai_list);
- if ((*ret_sockets_num) >= sockets_num)
+ if (sockets_num == 0)
+ {
+ sfree (sockets);
return (-1);
return (-1);
+ }
*ret_sockets = sockets;
*ret_sockets_num = sockets_num;
*ret_sockets = sockets;
*ret_sockets_num = sockets_num;