projects
/
collectd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9d208c2
)
Fixed all comments by @rubenk
author
elieyal
<17270807+elieyal@users.noreply.github.com>
Thu, 21 Jun 2018 08:49:04 +0000
(11:49 +0300)
committer
GitHub
<noreply@github.com>
Thu, 21 Jun 2018 08:49:04 +0000
(11:49 +0300)
src/network.c
patch
|
blob
|
history
diff --git
a/src/network.c
b/src/network.c
index
687717c
..
cfe34db
100644
(file)
--- a/
src/network.c
+++ b/
src/network.c
@@
-1708,7
+1708,7
@@
static int network_bind_socket_to_addr(sockent_t *se,
} else if (ai->ai_family == AF_INET6) {
struct sockaddr_in6 *addr =
(struct sockaddr_in6 *)(se->data.client.bind_addr);
} else if (ai->ai_family == AF_INET6) {
struct sockaddr_in6 *addr =
(struct sockaddr_in6 *)(se->data.client.bind_addr);
- inet_ntop(AF_INET, &(addr->sin6_addr), pbuffer, 64);
+ inet_ntop(AF_INET
6
, &(addr->sin6_addr), pbuffer, 64);
DEBUG("network_plugin: binding client socket to ipv6 address: %s", pbuffer);
if (bind(se->data.client.fd, (struct sockaddr *)addr, sizeof(*addr)) ==
-1) {
DEBUG("network_plugin: binding client socket to ipv6 address: %s", pbuffer);
if (bind(se->data.client.fd, (struct sockaddr *)addr, sizeof(*addr)) ==
-1) {
@@
-2739,20
+2739,23
@@
network_config_set_bind_address(const oconfig_item_t *ci,
int ret;
struct addrinfo *res = NULL;
int ret;
struct addrinfo *res = NULL;
- struct addrinfo
hint = {.ai_family = P
F_UNSPEC,
- .ai_flags = AI_NUMERICHOST,
-
.ai_protocol = IPPROTO_I
P,
- .ai_socktype = SOCK_DGRAM};
+ struct addrinfo
ai_hints = {.ai_family = A
F_UNSPEC,
+
.ai_flags = AI_NUMERICHOST,
+
.ai_protocol = IPPROTO_UD
P,
+
.ai_socktype = SOCK_DGRAM};
- ret = getaddrinfo(addr_text, NULL, &
hint
, &res);
+ ret = getaddrinfo(addr_text, NULL, &
ai_hints
, &res);
if (ret) {
ERROR("network plugin: Bind address option has invalid address set: %s",
gai_strerror(ret));
if (ret) {
ERROR("network plugin: Bind address option has invalid address set: %s",
gai_strerror(ret));
- freeaddrinfo(res);
return -1;
}
*bind_address = malloc(sizeof(**bind_address));
return -1;
}
*bind_address = malloc(sizeof(**bind_address));
+ if (*bind_address == NULL) {
+ ERROR("network plugin: network_config_set_bind_address: malloc failed.");
+ return -1;
+ }
(*bind_address)->ss_family = res->ai_family;
if (res->ai_family == AF_INET) {
struct sockaddr_in *addr = (struct sockaddr_in *)(*bind_address);
(*bind_address)->ss_family = res->ai_family;
if (res->ai_family == AF_INET) {
struct sockaddr_in *addr = (struct sockaddr_in *)(*bind_address);