Marc Fournier [Tue, 4 Aug 2015 16:39:33 +0000 (18:39 +0200)]
Revert "amqp: look for librabbitmq in /usr/local as well"
This reverts commit
c1c5087fd5d9e66427cee8c98c523519d578bee6.
... as a follow-up to the discussion which took place in #1201
Ruben Kerkhof [Sat, 1 Aug 2015 09:46:45 +0000 (11:46 +0200)]
Fix libmodbus detection on FreeBSD
We look for modbus/modbus.h in /usr/local/include/modbus
but we should look for modbus.h
This is only an issue on FreeBSD since /usr/local/include is not
in the default search path.
Ruben Kerkhof [Sat, 1 Aug 2015 11:01:30 +0000 (13:01 +0200)]
amqp: look for librabbitmq in /usr/local as well
This detects it automatically on FreeBSD.
Ideally we should just use pkg-config but that is
left as an exercise for the reader ;)
Ruben Kerkhof [Sun, 2 Aug 2015 18:54:51 +0000 (20:54 +0200)]
irq: skip FIQ line in /proc/interrupts
/proc/interrupts on my Raspberry PI contains:
FIQ: usb_fiq
This line doesn't contain any per cpu counters
but we try to parse it anyway, resulting in:
parse_value: Failed to parse string as derive: usb_fiq.
Fixes #971
Ruben Kerkhof [Sat, 25 Jul 2015 10:32:06 +0000 (12:32 +0200)]
Fix a memory leak on shutdown
Shahul Hameed [Mon, 20 Jul 2015 17:06:23 +0000 (13:06 -0400)]
Add utils_parse_option.c/h to amqp plugin source files list
Ruben Kerkhof [Sat, 25 Jul 2015 09:57:12 +0000 (11:57 +0200)]
collectd -T: fix memory leak
Ruben Kerkhof [Sat, 25 Jul 2015 17:17:07 +0000 (19:17 +0200)]
Fix some small leaks on error paths
Ruben Kerkhof [Sat, 25 Jul 2015 19:29:50 +0000 (21:29 +0200)]
liboconfig: really fix lex warnings
Flex has two options to disable input and unput.
Turn them on.
Florian Forster [Fri, 10 Jul 2015 09:29:45 +0000 (11:29 +0200)]
Revert "fix leak on exit"
This reverts commit
35e6b9d366016300178a55b163ac0173d7be5874.
Ruben Kerkhof [Sat, 4 Jul 2015 18:02:57 +0000 (20:02 +0200)]
fix leak on exit
Ruben Kerkhof [Sat, 4 Jul 2015 17:56:20 +0000 (19:56 +0200)]
plugin.c: plug leak on error
Ruben Kerkhof [Sat, 4 Jul 2015 17:54:49 +0000 (19:54 +0200)]
memcached: plug leak
Ruben Kerkhof [Sat, 4 Jul 2015 15:35:03 +0000 (17:35 +0200)]
gmond: plug a small leak on exit
Marc Fournier [Wed, 8 Jul 2015 22:07:36 +0000 (00:07 +0200)]
collectd.conf.pod: correct a tiny typo
Ruud van Melick [Tue, 30 Jun 2015 16:08:49 +0000 (16:08 +0000)]
Fix Perl errors
"my" variable $cmd masks earlier declaration in same scope at /tmp/contrib_collectd2html.pl line 223.
syntax error at /tmp/contrib_collectd2html.pl line 219, near "$span qw(1hour 1day 1week 1month)"
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 221.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 224.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 225.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 232.
Global symbol "$span" requires explicit package name at /tmp/contrib_collectd2html.pl line 237.
syntax error at /tmp/contrib_collectd2html.pl line 245, near "}"
Florian Forster [Sun, 28 Jun 2015 12:05:05 +0000 (14:05 +0200)]
src/daemon/common.c: Fix off-by-one error in escape_slashes().
Partial cherry-pick of
0cba91923be9326224f8434e4aae7691f7b6dad1.
Landry Breuil [Wed, 24 Jun 2015 04:48:16 +0000 (06:48 +0200)]
properly handle error cases when kvm_read fails (#1094)
Marek Becka [Wed, 24 Jun 2015 15:39:55 +0000 (11:39 -0400)]
don't report inodes if fs doesn't provide f_files and f_ffree
Florian Forster [Fri, 19 Jun 2015 11:06:34 +0000 (13:06 +0200)]
src/utils_cmd_flush.c: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
src/utils_rrdcreate.c: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
src/utils_ignorelist.c: Fix memory leak.
Turns out, regfree(3) cleans up the memory allocated by regcomp(3), but
not the pointer itself.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
src/utils_cmd_putval.c: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
utils_cache plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
rrdtool plugin: Add assertion.
This helps the static code analysis to figure out that memory is not
leaking after all.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
powerdns plugin: Fix memory leak.
While at it, replace the powerdns_config_add_string() function.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
memcachec plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
java plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
ipvs plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
gmond plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
curl_xml plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
curl_json plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
curl plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
collectdmon: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 08:54:02 +0000 (10:54 +0200)]
apache plugin: Fix memory leak.
Florian Forster [Fri, 19 Jun 2015 05:05:22 +0000 (07:05 +0200)]
src/utils_cache.c: Fix two memory leaks.
* Free "times" pointer if it is not returned to the user.
* Free (re)alloc'ed pointers when strdup() fails.
Florian Forster [Thu, 18 Jun 2015 15:46:03 +0000 (17:46 +0200)]
snmp plugin: Fix "Assigned value is garbage or undefined" warning.
Florian Forster [Thu, 18 Jun 2015 15:45:52 +0000 (17:45 +0200)]
src/utils_latency.c: Fix "Assigned value is garbage or undefined" warning.
Florian Forster [Thu, 18 Jun 2015 15:31:03 +0000 (17:31 +0200)]
threshold plugin: Fix "Dead assignment" warnings.
Florian Forster [Thu, 18 Jun 2015 14:09:10 +0000 (16:09 +0200)]
stats plugin: Link with libm (-lm).
Fixes a bug reported by @Tenzer:
symbol lookup error: /usr/lib/collectd/statsd.so: undefined symbol: log
Florian Forster [Thu, 18 Jun 2015 13:27:54 +0000 (15:27 +0200)]
Fix "Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131)" warnings.
Florian Forster [Thu, 18 Jun 2015 12:45:02 +0000 (14:45 +0200)]
threshold plugin: Fix "Dead increment" warnings.
Florian Forster [Thu, 18 Jun 2015 11:36:02 +0000 (13:36 +0200)]
Fix "Argument with 'nonnull' attribute passed null" warnings.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
threshold plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
ted plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
tail_csv plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 08:27:42 +0000 (10:27 +0200)]
tail plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
snmp plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
powerdns plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
ping plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 08:25:41 +0000 (10:25 +0200)]
onewire plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
openvpn plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
ntpd plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
network plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
modbus plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
src/libcollectdclient/client.c: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
gmond plugin: Fix handling of COUNTER and ABSOLUTE data sources.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
email plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
src/daemon/filter_chain.c: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
curl_json plugin: Fix "Dead assignment" warning.
Florian Forster [Thu, 18 Jun 2015 07:16:18 +0000 (09:16 +0200)]
amqp plugin: Fix "Dead assignment" warning.
Florian Forster [Wed, 17 Jun 2015 20:08:19 +0000 (22:08 +0200)]
src/utils_avltree.c: Add assertions to rotate_{left,right}().
clang's static code analysis thought that x->right / x->left could be NULL,
reporting false positives. Let's see if this fixes it.
Florian Forster [Wed, 17 Jun 2015 17:12:45 +0000 (19:12 +0200)]
snmp plugin: Fix off-by-one array access.
Florian Forster [Wed, 17 Jun 2015 15:38:41 +0000 (17:38 +0200)]
exec plugin: Don't assign variable that is never read.
Florian Forster [Wed, 17 Jun 2015 15:28:39 +0000 (17:28 +0200)]
src/utils_db_query.c: Fix use-after-free.
"r_area->next" was evaluated after "r_area" was freed.
Florian Forster [Wed, 17 Jun 2015 14:19:25 +0000 (16:19 +0200)]
src/daemon/common.c: Implement strjoin() with memcpy().
The previous implementation used strncat() which has the unfortunate and
unintuitive behavior of copying n+1 bytes to the buffer.
Florian Forster [Wed, 17 Jun 2015 13:20:41 +0000 (15:20 +0200)]
src/utils_cache.c: Remove incorrect free.
"ce" is not updated / used in this loop, so it would be theoretically
possible for "ce" to be freed twice.
Florian Forster [Wed, 17 Jun 2015 09:41:55 +0000 (11:41 +0200)]
network plugin: Avoid "status may be used uninitialized" warning.
Florian Forster [Wed, 17 Jun 2015 08:48:27 +0000 (10:48 +0200)]
liboconfig: Declare yylex().
Florian Forster [Wed, 17 Jun 2015 08:37:31 +0000 (10:37 +0200)]
email plugin: Fix freeing linked lists.
The previous code essentially did:
for (…; …; ptr = ptr->next)
free (ptr);
The "ptr->next" is a use-after-free.
Florian Forster [Wed, 17 Jun 2015 08:26:21 +0000 (10:26 +0200)]
network plugin: Make sure all memory is freed when the receive thread fails.
Not all that useful (your receive thread just died …) but hopefully
makes the static analysis happy.
Florian Forster [Wed, 17 Jun 2015 07:12:08 +0000 (09:12 +0200)]
Merge remote-tracking branch 'github/pr/1088' into collectd-5.4
Florian Forster [Wed, 17 Jun 2015 07:09:17 +0000 (09:09 +0200)]
src/utils_llist.c: Handle unlikely corner case.
This handles the following (unlikely) case:
(l->head == NULL) && (e == NULL)
In this case, the following code will dereference a NULL pointer:
if (l->head == e)
l->head = e->next;
Florian Forster [Wed, 17 Jun 2015 06:55:42 +0000 (08:55 +0200)]
src/utils_avltree.c: Rewrite checks in c_avl_pick().
The previous code made the (correct) assumption that "height" is always
greater than zero. This tripped up clang's "scan-build".
This confuses the static analysis in two more places in this file, which
are not as easy to fix :(
Florian Forster [Wed, 17 Jun 2015 05:50:46 +0000 (07:50 +0200)]
network plugin: Explicitly initialize "fd_num" to zero.
I have the feeling that initialization via memset() and unions in the sockent
structure confuse clang's scan-build.
Florian Forster [Wed, 17 Jun 2015 05:34:57 +0000 (07:34 +0200)]
notification target: Pass void** to tn_destroy().
The previous call was bad, resulting in errors in free().
Florian Forster [Wed, 17 Jun 2015 05:26:39 +0000 (07:26 +0200)]
perl plugin: Fix invalid free().
notification_meta_t.name is a char[], which we must not free.
Florian Forster [Tue, 16 Jun 2015 21:07:34 +0000 (23:07 +0200)]
liboconfig: Disable some clang warnings.
Hopefully fixes:
scanner.c:4128:17: error: unused function 'yyunput' [-Werror,-Wunused-function]
static void yyunput (int c, register char * yy_bp )
^
scanner.c:4173:16: error: function 'input' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
static int input (void)
^
2 errors generated.
Florian Forster [Tue, 16 Jun 2015 21:06:56 +0000 (23:06 +0200)]
liboconfig: Declare yyparse().
Should hopefully fix:
oconfig.c:68:12: error: implicit declaration of function 'yyparse' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
status = yyparse ();
^
Manuel Luis Sanmartín Rozada [Wed, 20 May 2015 15:10:41 +0000 (17:10 +0200)]
In rrd synchronous file creation use lock_file
to prevent the creation of the same file at the same time multiple times
and obtain a corrupt rrd file.
Manuel Luis Sanmartín Rozada [Wed, 20 May 2015 20:06:18 +0000 (22:06 +0200)]
Allow empty Plugin blocks.
Kelly Thomas Kline [Mon, 15 Jun 2015 21:05:51 +0000 (14:05 -0700)]
Corrected text in README
Marc Fournier [Mon, 15 Jun 2015 06:50:04 +0000 (08:50 +0200)]
collectd.conf.pod: update libyajl URL
Fixes #1081
Thanks to @msalmonse for pointing this out!
Ruben Kerkhof [Fri, 6 Mar 2015 15:11:18 +0000 (16:11 +0100)]
Fix a libtool warning
libtool: warning: '-version-info/-version-number' is ignored for
convenience libraries
Florian Forster [Thu, 11 Jun 2015 15:48:55 +0000 (16:48 +0100)]
write_redis plugin: Check the return value of format_values().
brianpkelly (no email) [Thu, 11 Jun 2015 14:52:22 +0000 (09:52 -0500)]
write_redis: Increase parsability by using format_values from common.h
brianpkelly (no email) [Tue, 9 Jun 2015 18:52:54 +0000 (13:52 -0500)]
write_redis: Increase parsability of multi-valued keys by insterting delimiting characters
Florian Forster [Thu, 11 Jun 2015 15:32:07 +0000 (16:32 +0100)]
configure.ac: Move all checks for "struct ip6_ext" into one place.
Fixes: #348
Dagobert Michelsen [Thu, 11 Jun 2015 09:26:23 +0000 (11:26 +0200)]
Automatically add -DSOLARIS2=8 if required for ip6_ext
Fixes: #348
Florian Forster [Thu, 11 Jun 2015 06:46:54 +0000 (07:46 +0100)]
dns plugin: Check for "struct ip6_ext".
Solaris appears to declare the struct, but only when The Right defines
are specified at compile time. As a quick and dirty fix, only build with
IPv6 support when the struct is usable.
Fixes: #348
Marek Becka [Tue, 9 Jun 2015 21:13:29 +0000 (17:13 -0400)]
vmem plugin: fix types for nr_dirtied and nr_written
Florian Forster [Wed, 10 Jun 2015 07:39:24 +0000 (08:39 +0100)]
tcpconns plugin: Fix memory leak.
"prev" was set to NULL and never updated, leading to "port_list_head" to
be set to an entry later in the list. This leaks memory because earlier
entries in the list are now unreachable.
Fixes: #1074
Florian Forster [Wed, 10 Jun 2015 06:55:02 +0000 (07:55 +0100)]
src/configfile.c: Set a plugin context when autoloading plugins.
Fixes: #1069
Florian Forster [Sat, 6 Jun 2015 19:22:25 +0000 (21:22 +0200)]
statsd plugin: Dispatch NaN when no timer event was recorded.
This makes timing events appear faster when writing to RRD files.
Fixes: #1038, #1049
Florian Forster [Sun, 31 May 2015 20:54:47 +0000 (22:54 +0200)]
tail_csv plugin: Print warning and continue when metric is not found.
Previously, when multiple metrics were specified on one "Collect" line and one
didn't exist, all *following* metrics would be ignored. This patch changes this
to continue in this case and configure as many metrics as possible.
Manuel Luis Sanmartín Rozada [Wed, 20 May 2015 18:52:58 +0000 (20:52 +0200)]
Plugin tail_csv: the manual says that you can use multiple times the
Collect option but the code expecs t"Collect n1 n2 n3 n4", fix
to allow to put the option Collect multiple times.
Manuel Luis Sanmartín Rozada [Wed, 20 May 2015 18:37:16 +0000 (20:37 +0200)]
Plugin tail_csv: if TimeFrom is not specified in config file
the default value for time_from is -1 and the type of fileds_num
is size_t, so the comparsion of signed and unsigned not work as espected
Florian Forster [Sat, 30 May 2015 21:17:53 +0000 (23:17 +0200)]
stats plugin: Fix reference of undeclared symbol.
Issue: #997
Florian Forster [Sat, 30 May 2015 21:13:42 +0000 (23:13 +0200)]
statsd plugin: Free latency counter and AVL trees.
latency counters (used by TIMER metrics) and AVL trees (used by SET metrics)
were not freed when cleaning up unused metrics. This resulted in leaked memory.
Fixes: #997
Marc Fournier [Thu, 28 May 2015 18:21:55 +0000 (20:21 +0200)]
Merge remote-tracking branch 'origin/collectd-5.3' into collectd-5.4