X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_ignorelist.c;h=b8169ff656483a3d2e7c55c45a4cea2853d7dad2;hb=ab2e3c958d3fed41438a8b3c2d0cca21b1bca56f;hp=518715b1f48ada50c018e38f600dd6c14bcbd66f;hpb=10075e6fe3c384b73c2dd398a1435f8d10e56654;p=collectd.git diff --git a/src/utils_ignorelist.c b/src/utils_ignorelist.c index 518715b1..b8169ff6 100644 --- a/src/utils_ignorelist.c +++ b/src/utils_ignorelist.c @@ -131,6 +131,7 @@ static int ignorelist_append_regex(ignorelist_t *il, const char *entry) if (errsize) sfree (regerr); regfree (regtemp); + sfree (regtemp); return (1); } DEBUG("regex compiled: %s - %i", entry, rcompile); @@ -140,6 +141,7 @@ static int ignorelist_append_regex(ignorelist_t *il, const char *entry) { ERROR ("cannot allocate new config entry"); regfree (regtemp); + sfree (regtemp); return (1); } memset (new, '\0', sizeof(ignorelist_item_t)); @@ -248,6 +250,7 @@ void ignorelist_free (ignorelist_t *il) if (this->rmatch != NULL) { regfree (this->rmatch); + sfree (this->rmatch); this->rmatch = NULL; } #endif @@ -306,11 +309,12 @@ int ignorelist_add (ignorelist_t *il, const char *entry) if ((entry_len > 2) && (entry[0] == '/') && entry[entry_len - 1] == '/') { char *entry_copy; + size_t entry_copy_size; /* We need to copy `entry' since it's const */ - entry_copy = smalloc (entry_len); - memset (entry_copy, '\0', entry_len); - sstrncpy (entry_copy, entry + 1, entry_len - 2); + entry_copy_size = entry_len - 1; + entry_copy = smalloc (entry_copy_size); + sstrncpy (entry_copy, entry + 1, entry_copy_size); DEBUG("I'm about to add regex entry: %s", entry_copy); ret = ignorelist_append_regex(il, entry_copy);