]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Add more attributes
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 26 Oct 2018 13:17:17 +0000 (14:17 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 26 Oct 2018 13:17:17 +0000 (14:17 +0100)
src/libutil/mem_pool.c
src/libutil/mem_pool.h

index 322ebc409e0c38d29164475897652ee8d1eeab37..4efd712315433b95187650168da70758bfed9fa3 100644 (file)
@@ -163,6 +163,7 @@ rspamd_mempool_get_entry (const gchar *loc)
        return rspamd_mempool_entry_new (loc);
 }
 
+
 static struct _pool_chain *
 rspamd_mempool_chain_new (gsize size, enum rspamd_mempool_chain_type pool_type)
 {
@@ -171,7 +172,7 @@ rspamd_mempool_chain_new (gsize size, enum rspamd_mempool_chain_type pool_type)
                        optimal_size = 0;
        gpointer map;
 
-       g_return_val_if_fail (size > 0, NULL);
+       g_assert (size > 0);
 
        if (pool_type == RSPAMD_MEMPOOL_SHARED) {
 #if defined(HAVE_MMAP_ANON)
@@ -399,6 +400,11 @@ rspamd_mempool_new_ (gsize size, const gchar *tag, const gchar *loc)
        return new;
 }
 
+static void *
+memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
+                                                 enum rspamd_mempool_chain_type pool_type)
+RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+
 static void *
 memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
                enum rspamd_mempool_chain_type pool_type)
@@ -464,7 +470,7 @@ memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
                return tmp;
        }
 
-       return NULL;
+       g_abort ();
 }
 
 
index 14f74522ce1fe70ee60aee1d2a42beeb8a517e2e..9b6f690c7c2a06e9e968ac5c58cfdc630d96990e 100644 (file)
@@ -33,9 +33,15 @@ struct f_str_s;
 #  else
 #    #define RSPAMD_ATTR_ALLOC_ALIGN(al)
 #  endif
+#  if __has_attribute(returns_nonnull)
+#    define RSPAMD_ATTR_RETURNS_NONNUL __attribute__((returns_nonnull))
+#  else
+#    #define RSPAMD_ATTR_RETURNS_NONNUL
+#  endif
 #else
 #define RSPAMD_ATTR_ALLOC_SIZE(pos)
 #define RSPAMD_ATTR_ALLOC_ALIGN(al)
+#define RSPAMD_ATTR_RETURNS_NONNUL
 #endif
 
 #define MEMPOOL_TAG_LEN 20
@@ -151,7 +157,7 @@ rspamd_mempool_t * rspamd_mempool_new_ (gsize size, const gchar *tag, const gcha
  * @return pointer to allocated object
  */
 void * rspamd_mempool_alloc (rspamd_mempool_t * pool, gsize size)
-               RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+               RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
 
 /**
  * Get memory from temporary pool
@@ -159,7 +165,7 @@ void * rspamd_mempool_alloc (rspamd_mempool_t * pool, gsize size)
  * @param size bytes to allocate
  * @return pointer to allocated object
  */
-void * rspamd_mempool_alloc_tmp (rspamd_mempool_t * pool, gsize size);
+void * rspamd_mempool_alloc_tmp (rspamd_mempool_t * pool, gsize size) RSPAMD_ATTR_RETURNS_NONNUL;
 
 /**
  * Get memory and set it to zero
@@ -168,7 +174,7 @@ void * rspamd_mempool_alloc_tmp (rspamd_mempool_t * pool, gsize size);
  * @return pointer to allocated object
  */
 void * rspamd_mempool_alloc0 (rspamd_mempool_t * pool, gsize size)
-       RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+       RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
 
 /**
  * Get memory and set it to zero
@@ -176,7 +182,7 @@ void * rspamd_mempool_alloc0 (rspamd_mempool_t * pool, gsize size)
  * @param size bytes to allocate
  * @return pointer to allocated object
  */
-void * rspamd_mempool_alloc0_tmp (rspamd_mempool_t * pool, gsize size);
+void * rspamd_mempool_alloc0_tmp (rspamd_mempool_t * pool, gsize size) RSPAMD_ATTR_RETURNS_NONNUL;
 
 /**
  * Cleanup temporary data in pool
@@ -218,9 +224,9 @@ gchar * rspamd_mempool_ftokdup (rspamd_mempool_t *pool,
  * @param size bytes to allocate
  */
 void * rspamd_mempool_alloc_shared (rspamd_mempool_t * pool, gsize size)
-       RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+       RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
 void * rspamd_mempool_alloc0_shared (rspamd_mempool_t *pool, gsize size)
-       RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+       RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
 /**
  * Add destructor callback to pool
  * @param pool memory pool object