- fix
[oweals/gnunet.git] / src / datacache / datacache.c
index d68ba72b59613e1b35c8db389375fd3a87f6b911..936031b91f07555715cc01d414624e92f8076fb3 100644 (file)
@@ -161,10 +161,17 @@ GNUNET_DATACACHE_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
     ret->filter = GNUNET_CONTAINER_bloomfilter_load (ret->bloom_name, quota / 1024,     /* 8 bit per entry in DB, expect 1k entries */
                                                      5);
   }
-  else
+  if (NULL == ret->filter)
   {
     ret->filter = GNUNET_CONTAINER_bloomfilter_init (NULL, bf_size, 5); /* approx. 3% false positives at max use */
   }
+  if (NULL == ret->filter)
+  {
+    GNUNET_free (name);
+    GNUNET_free (ret->bloom_name);
+    GNUNET_free (ret);
+    return NULL;
+  }
   ret->stats = GNUNET_STATISTICS_create ("datacache", cfg);
   ret->section = GNUNET_strdup (section);
   ret->env.cfg = cfg;