/* We have some unknown salt here */
msg_info_ctx ("incorrect salt: %z, while %z expected",
salt_len, pbkdf->salt_len);
+ g_free (salt_decoded);
+
return FALSE;
}
g_free (hdata);
}
+ if (fdata) {
+ g_free (fdata);
+ }
+
+ if (sdata) {
+ g_free (sdata);
+ }
+
return NULL;
}
guint *hs_flags = NULL;
const hs_expr_ext_t **hs_exts = NULL;
gchar **hs_pats = NULL;
- gchar *hs_serialized;
+ gchar *hs_serialized = NULL;
gsize serialized_len;
struct iovec iov[7];
struct rspamd_re_cache *cache;
/* Read number of regexps */
g_assert (fd != -1);
- lseek (fd, RSPAMD_HS_MAGIC_LEN + sizeof (cache->plt), SEEK_SET);
+ g_assert (lseek (fd, RSPAMD_HS_MAGIC_LEN + sizeof (cache->plt), SEEK_SET) != -1);
g_assert (read (fd, &n, sizeof (n)) == sizeof (n));
close (fd);
(gint)g_hash_table_size (re_class->re),
path);
+ g_free (hs_serialized);
+ g_free (hs_ids);
+ g_free (hs_flags);
unlink (path);
close (fd);
rspamd_re_cache_compile_err (EV_A_ w, err, cbdata);
tokens = rspamd_string_len_split (src, len, " ,", -1, pool);
if (tokens[0] == NULL) {
+
+ if (!pool) {
+ rspamd_inet_address_free(addr);
+ g_strfreev (tokens);
+ }
+
return FALSE;
}
#if defined(FREEBSD) || defined(__APPLE__)
addr->u.un->addr.sun_len = SUN_LEN (&addr->u.un->addr);
#endif
+
+ if (target) {
+ rspamd_ip_validate_af (addr);
+ *target = addr;
+ }
+ else {
+ if (!pool) {
+ rspamd_inet_address_free(addr);
+ }
+ }
+
return TRUE;
}
}
g_free (pwbuf);
- g_strfreev (tokens);
+
+ if (!pool) {
+ g_strfreev(tokens);
+ }
if (target) {
rspamd_ip_validate_af (addr);
*target = addr;
}
else {
- rspamd_inet_address_free (addr);
+ if (!pool) {
+ rspamd_inet_address_free(addr);
+ }
}
return TRUE;
err:
- g_strfreev (tokens);
g_free (pwbuf);
if (!pool) {
+ g_strfreev(tokens);
rspamd_inet_address_free (addr);
}
rspamd_ip_check_ipv6 ();
if (rspamd_parse_inet_address (&cur_addr,
- begin, len, RSPAMD_INET_ADDRESS_PARSE_DEFAULT)) {
+ begin, len, RSPAMD_INET_ADDRESS_PARSE_DEFAULT) && cur_addr != NULL) {
if (*addrs == NULL) {
*addrs = g_ptr_array_new_full (1,
(GDestroyNotify) rspamd_inet_address_free);
}
}
+ if (pool == NULL) {
+ g_free (addr_cpy);
+ }
+
return ret;
}
else {
pid_t myself = getpid ();
msg_debug_pool_check ("locking %s to block other processes", lock_path);
- (void) !write (lock_fd, &myself, sizeof (myself));
+ (void)write (lock_fd, &myself, sizeof (myself));
g_assert (rspamd_file_lock (lock_fd, FALSE));
has_lock = TRUE;