* as the previous one. In this context, think to reference counting,
* you want to increment (set), and then decrement (free), and not the
* reverse. */
- auxentry = *entry;
- dictSetHashVal(ht, entry, val);
- dictFreeEntryVal(ht, &auxentry);
+ if (entry) {
+ auxentry = *entry;
+ dictSetHashVal(ht, entry, val);
+ dictFreeEntryVal(ht, &auxentry);
+ }
return 0;
}
redisContext *redisConnectBindNonBlock(const char *ip, int port,
const char *source_addr) {
redisContext *c = redisContextInit();
+ if (c == NULL)
+ return NULL;
c->flags &= ~REDIS_BLOCK;
redisContextConnectBindTcp(c,ip,port,NULL,source_addr);
return c;
redisContext *redisConnectBindNonBlockWithReuse(const char *ip, int port,
const char *source_addr) {
redisContext *c = redisContextInit();
+ if (c == NULL)
+ return NULL;
c->flags &= ~REDIS_BLOCK;
c->flags |= REDIS_REUSEADDR;
redisContextConnectBindTcp(c,ip,port,NULL,source_addr);
break;
case '{':
obj = ucl_parser_get_container (parser);
+ if (obj == NULL) {
+ return false;
+ }
/* We have a new object */
- obj = ucl_parser_add_container (obj, parser, false, parser->stack->level);
+ if (parser->stack) {
+ obj = ucl_parser_add_container (obj, parser, false,
+ parser->stack->level);
+ }
+ else {
+ return false;
+ }
if (obj == NULL) {
return false;
}
break;
case '[':
obj = ucl_parser_get_container (parser);
+ if (obj == NULL) {
+ return false;
+ }
/* We have a new array */
- obj = ucl_parser_add_container (obj, parser, true, parser->stack->level);
+ if (parser->stack) {
+ obj = ucl_parser_add_container (obj, parser, true,
+ parser->stack->level);
+ }
+ else {
+ return false;
+ }
+
if (obj == NULL) {
return false;
}
struct rspamd_archive *arch, guint nbits,
guint *pbits_set)
{
- unsigned mask, avail, i;
+ unsigned mask = 0, avail = 0, i;
gboolean bit_set = 0;
for (i = 0; i < nbits; i++) {
mask = 0x80;
}
- bit_set = (avail & mask)?1:0;
+ bit_set = (avail & mask) ? 1 : 0;
if (bit_set && pbits_set) {
(*pbits_set) ++;
switch (ctx->common.type) {
case RSPAMD_DKIM_NORMAL:
+ default:
hname = RSPAMD_DKIM_SIGNHEADER;
break;
case RSPAMD_DKIM_ARC_SIG:
expand_spf_macro (struct spf_record *rec, struct spf_resolved_element *resolved,
const gchar *begin)
{
- const gchar *p, *macro_value;
- gchar *c, *new, *tmp, delim;
- gsize len = 0, slen = 0, macro_len;
+ const gchar *p, *macro_value = NULL;
+ gchar *c, *new, *tmp, delim = '.';
+ gsize len = 0, slen = 0, macro_len = 0;
gint state = 0, ndelim = 0;
gchar ip_buf[INET6_ADDRSTRLEN + 1];
gboolean need_expand = FALSE, reversed;
{
GString *reason;
gchar buf[120];
- gint err_code, last_err;
+ gint err_code = 0, last_err = 0;
reason = g_string_sized_new (sizeof (buf));
struct fuzzy_rule *rule;
struct rspamd_controller_session *session = conn_ent->ud;
struct rspamd_task *task, **ptask;
- gboolean processed = FALSE, res = TRUE, skip;
+ gboolean processed = FALSE, res = TRUE, skip = FALSE;
guint i;
GError **err;
GPtrArray *commands;
if (is_hash) {
GPtrArray *args;
const rspamd_ftok_t *arg;
- guint i;
+ guint j;
args = rspamd_http_message_find_header_multiple (msg, "Hash");
struct fuzzy_cmd_io *io;
commands = g_ptr_array_sized_new (args->len);
- for (i = 0; i < args->len; i ++) {
- arg = g_ptr_array_index (args, i);
+ for (j = 0; j < args->len; j ++) {
+ arg = g_ptr_array_index (args, j);
io = fuzzy_cmd_hash (rule, cmd, arg, flag, value,
task->task_pool);
strerror (errno));
rspamd_controller_send_error (conn_ent, 400, "Message sending error");
rspamd_task_free (task);
+
return;
}
else if (!processed) {
}
}
rspamd_task_free (task);
-
- return;
}
-
- return;
}
static int