summaryrefslogtreecommitdiff
path: root/examples/c-collectd
diff options
context:
space:
mode:
authorlns <matzeton@googlemail.com>2022-06-10 14:29:30 +0200
committerlns <matzeton@googlemail.com>2022-06-10 14:34:30 +0200
commit2a8883a96e0505670ced394f59fdd17cdac2ddce (patch)
treeb16fcbefc6ec7b01199301a822dba8857111fad1 /examples/c-collectd
parent664a8a077d5718313a5f5b753e9ed851174cc311 (diff)
CMake: do not add /usr/include/ndpi to include dirs if BUILD_NDPI or STATIC_LIBNDPI_INSTALLDIR used.
* c-collectd: fixed memory leak on failure * py-flow-info.py: fancy spinners and stats counting improved Signed-off-by: lns <matzeton@googlemail.com>
Diffstat (limited to 'examples/c-collectd')
-rw-r--r--examples/c-collectd/c-collectd.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/examples/c-collectd/c-collectd.c b/examples/c-collectd/c-collectd.c
index 3abceec83..b9ea95066 100644
--- a/examples/c-collectd/c-collectd.c
+++ b/examples/c-collectd/c-collectd.c
@@ -686,7 +686,7 @@ int main(int argc, char ** argv)
if (parse_options(argc, argv, sock) != 0)
{
- return 1;
+ goto failure;
}
if (getenv("COLLECTD_HOSTNAME") == NULL && getenv("COLLECTD_INTERVAL") == NULL)
@@ -705,15 +705,13 @@ int main(int argc, char ** argv)
if (connect_ret != CONNECT_OK)
{
LOG(LOG_DAEMON | LOG_ERR, "nDPIsrvd socket connect to %s failed!", serv_optarg);
- nDPIsrvd_socket_free(&sock);
- return 1;
+ goto failure;
}
if (nDPIsrvd_set_nonblock(sock) != 0)
{
LOG(LOG_DAEMON | LOG_ERR, "nDPIsrvd set nonblock failed: %s", strerror(errno));
- nDPIsrvd_socket_free(&sock);
- return 1;
+ goto failure;
}
signal(SIGINT, sighandler);
@@ -726,13 +724,13 @@ int main(int argc, char ** argv)
if (epollfd < 0)
{
LOG(LOG_DAEMON | LOG_ERR, "Error creating epoll: %s", strerror(errno));
- return 1;
+ goto failure;
}
if (create_collectd_timer() != 0)
{
LOG(LOG_DAEMON | LOG_ERR, "Error creating timer: %s", strerror(errno));
- return 1;
+ goto failure;
}
{
@@ -740,7 +738,7 @@ int main(int argc, char ** argv)
if (epoll_ctl(epollfd, EPOLL_CTL_ADD, collectd_timerfd, &timer_event) < 0)
{
LOG(LOG_DAEMON | LOG_ERR, "Error adding JSON fd to epoll: %s", strerror(errno));
- return 1;
+ goto failure;
}
}
@@ -749,13 +747,14 @@ int main(int argc, char ** argv)
if (epoll_ctl(epollfd, EPOLL_CTL_ADD, sock->fd, &socket_event) < 0)
{
LOG(LOG_DAEMON | LOG_ERR, "Error adding nDPIsrvd socket fd to epoll: %s", strerror(errno));
- return 1;
+ goto failure;
}
}
LOG(LOG_DAEMON | LOG_NOTICE, "%s", "Initialization succeeded.");
retval = mainloop(epollfd, sock);
+failure:
nDPIsrvd_socket_free(&sock);
close(collectd_timerfd);
close(epollfd);