]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[CritFix] Backport PTR_ARRAY_FOREACH fix
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 Jan 2017 12:02:03 +0000 (12:02 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 12 Jan 2017 12:02:03 +0000 (12:02 +0000)
src/libutil/util.h

index da10e419ae15fea833ae6c07681a3f50cb9b4798..2c6c84fe5e3b5a63170807ad2554410c2b1af7bb 100644 (file)
@@ -507,5 +507,6 @@ gpointer rspamd_shmem_xmap (const char *fname, guint mode,
  */
 gdouble rspamd_normalize_probability (gdouble x, gdouble bias);
 
-#define PTR_ARRAY_FOREACH(ar, i, cur) if (ar != NULL) for ((i) = 0, (cur) = g_ptr_array_index((ar), 0); (i) < (ar)->len; (cur) = g_ptr_array_index((ar), (i + 1)), ++(i))
+#define PTR_ARRAY_FOREACH(ar, i, cur) if ((ar) != NULL && (ar)->len > 0) for ((i) = 0; (i) < (ar)->len && (((cur) = g_ptr_array_index((ar), (i))) || 1); ++(i))
+
 #endif