]> source.dussan.org Git - rspamd.git/commitdiff
Fix couple of issues found by gcc-6
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 16 Feb 2016 13:44:35 +0000 (13:44 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 16 Feb 2016 13:44:35 +0000 (13:44 +0000)
contrib/librdns/dns_private.h
contrib/librdns/punycode.c
src/libcryptobox/cryptobox.c
src/libserver/dkim.c
src/libutil/expression.c
src/libutil/str_util.c
src/libutil/upstream.c
src/libutil/util.c
src/lua/lua_cdb.c
src/lua/lua_redis.c

index d23f8454d6ecc3f1e143e30b903dceed1f202b7b..76e32496d6dacce333234f745253967c8fe7444b 100644 (file)
 #include "upstream.h"
 #include "ref.h"
 
-static const unsigned base = 36;
-static const unsigned t_min = 1;
-static const unsigned t_max = 26;
-static const unsigned skew = 38;
-static const unsigned damp = 700;
-static const unsigned initial_n = 128;
-static const unsigned initial_bias = 72;
-
 static const int dns_port = 53;
 static const int default_io_cnt = 8;
 
index 6ce348495b21b3b19fb062ed9842328b0815e655..909d0d940c6eebb43727f0a6dda29736102c9907 100644 (file)
  */
 
 #include "dns_private.h"
-
+static const unsigned base = 36;
+static const unsigned t_min = 1;
+static const unsigned t_max = 26;
+static const unsigned skew = 38;
+static const unsigned damp = 700;
+static const unsigned initial_n = 128;
+static const unsigned initial_bias = 72;
 /* Punycode utility */
 static unsigned int
 digit (unsigned n)
index fe2cff29e9be63b24b42ee040e091c2ebc7d0e0e..1085906de52c3b5d720f094e481609d13d04a315 100644 (file)
@@ -676,7 +676,7 @@ rspamd_cryptobox_encrypt_update (void *enc_ctx, const guchar *in, gsize inlen,
                EVP_CIPHER_CTX *s = enc_ctx;
                gint r;
 
-               r = outlen ? *outlen : inlen;
+               r = inlen;
                g_assert (EVP_EncryptUpdate (s, out, &r, in, inlen) == 1);
 
                if (outlen) {
index 13aa9dc170b1963e80e78ddcc8e481d4c150ae11..f36299444b1136cbf96733a5b14cbad8d72cb6aa 100644 (file)
@@ -1518,7 +1518,7 @@ rspamd_dkim_canonize_header_simple (rspamd_dkim_context_t *ctx,
                        if (elt && elt->append_crlf) {
                                rspamd_dkim_signature_update (ctx, elt->begin, elt->len + 1);
                        }
-                       else {
+                       else if (elt) {
                                rspamd_dkim_signature_update (ctx, elt->begin, elt->len);
                        }
                }
index 12186b796b5093486aa0d81e0a6a1cf76e8843f5..2bbc5fa3b04665816e34dc8380a72ce64e3d3c7e 100644 (file)
@@ -476,6 +476,7 @@ rspamd_ast_priority_cmp (GNode *a, GNode *b)
        struct rspamd_expression_elt *ea = a->data, *eb = b->data;
        gdouble w1, w2;
 
+
        /* Special logic for atoms */
        if (ea->type == ELT_ATOM && eb->type == ELT_ATOM &&
                        ea->priority == eb->priority) {
@@ -495,8 +496,18 @@ rspamd_ast_priority_cmp (GNode *a, GNode *b)
 static gboolean
 rspamd_ast_resort_traverse (GNode *node, gpointer unused)
 {
+       GNode *children, *last;
+
        if (node->children) {
+
+               children = node->children;
+               last = g_node_last_sibling (children);
+               /* Needed for utlist compatibility */
+               children->prev = last;
                DL_SORT (node->children, rspamd_ast_priority_cmp);
+               /* Restore GLIB compatibility */
+               children = node->children;
+               children->prev = NULL;
        }
 
        return FALSE;
index 89a6537deb8849aca547be57bee2214d080b0177..5f4cd1c1ef8eb460ea00af54e21d474ea4729011 100644 (file)
@@ -469,13 +469,13 @@ rspamd_encode_base32_buf (const guchar *in, gsize inlen, gchar *out,
 {
        static const char b32[]="ybndrfg8ejkmcpqxot1uwisza345h769";
        gchar *o, *end;
-       gsize i, r;
+       gsize i;
        gint remain = -1, x;
 
        end = out + outlen;
        o = out;
 
-       for (i = 0, r = 0; i < inlen && o < end - 1; i++) {
+       for (i = 0; i < inlen && o < end - 1; i++) {
                switch (i % 5) {
                case 0:
                        /* 8 bits of input and 3 to remain */
index 574cf066740072aa495e9c961c8c3a68300dc29a..8bbe48208d96bda77a221a800e9ad1d9a62f76be 100644 (file)
@@ -727,7 +727,7 @@ rspamd_upstream_get_round_robin (struct upstream_list *ups, gboolean use_cur)
                }
        }
 
-       if (use_cur) {
+       if (use_cur && selected) {
                if (selected->cur_weight > 0) {
                        selected->cur_weight--;
                }
@@ -735,6 +735,7 @@ rspamd_upstream_get_round_robin (struct upstream_list *ups, gboolean use_cur)
                        selected->cur_weight = selected->weight;
                }
        }
+
        rspamd_mutex_unlock (ups->lock);
 
        return selected;
index 0023a9ba1852ffa0265df95effb128bea896a4ae..1d5f49a618d5aa49d4c58e7faee7b6e4fb402546 100644 (file)
@@ -1153,12 +1153,6 @@ resolve_stat_filename (rspamd_mempool_t * pool,
                        s += rcptlen;
                        continue;
                }
-               else if (*c == '%' && *(c + 1) == 'r') {
-                       c += 2;
-                       memcpy (s, from, fromlen);
-                       s += fromlen;
-                       continue;
-               }
                *s++ = *c;
        }
 
index de0ac67a06139c22869887b88a48c48319e18f32..b0e6df32ea17898d3b9e26655fab10966dfc1426 100644 (file)
@@ -85,6 +85,10 @@ lua_cdb_get_name (lua_State *L)
 {
        struct cdb *cdb = lua_check_cdb (L);
 
+       if (!cdb) {
+               lua_error (L);
+               return 1;
+       }
        lua_pushstring (L, cdb->filename);
        return 1;
 }
@@ -98,6 +102,10 @@ lua_cdb_lookup (lua_State *L)
        gsize vlen;
        gint64 vpos;
 
+       if (!cdb) {
+               lua_error (L);
+               return 1;
+       }
        /*
         * XXX: this code is placed here because event_loop is called inside workers, so start
         * monitoring on first check, not on creation
index cc408244a8b6d2b53838f101b6c98330dd11aa6b..dcb1af45a233876df14ca2b9f14302ed1beda4e5 100644 (file)
@@ -933,6 +933,12 @@ lua_redis_exec (lua_State *L)
        gint ret;
        guint i, nret = 0;
 
+       if (ctx == NULL) {
+               lua_error (L);
+
+               return 1;
+       }
+
        if (ctx->async) {
                lua_pushstring (L, "Async redis pipelining is not implemented");
                lua_error (L);