]> granicus.if.org Git - neomutt/commitdiff
Use safe_calloc to initialize memory, simplify size_t overflow check 875/head
authorPietro Cerutti <gahr@gahr.ch>
Thu, 19 Oct 2017 11:55:48 +0000 (11:55 +0000)
committerRichard Russon <rich@flatcap.org>
Fri, 20 Oct 2017 13:20:53 +0000 (14:20 +0100)
hcache/lmdb.c
lib/memory.c

index f0aa0cd50c68e3c0476afd1235d62d5828b5ed6d..435daf88aabd401785437d3494765c6248c84cc1 100644 (file)
@@ -108,9 +108,7 @@ static void *hcache_lmdb_open(const char *path)
 {
   int rc;
 
-  struct HcacheLmdbCtx *ctx = safe_malloc(sizeof(struct HcacheLmdbCtx));
-  ctx->txn = NULL;
-  ctx->db = 0;
+  struct HcacheLmdbCtx *ctx = safe_calloc(1, sizeof(struct HcacheLmdbCtx));
 
   rc = mdb_env_create(&ctx->env);
   if (rc != MDB_SUCCESS)
index 89e7a62498d51300976614b8d9677703f786ff6d..6e98e59f240da7d6aa137c261d67deaa8a1f953e 100644 (file)
@@ -37,6 +37,7 @@
  */
 
 #include "config.h"
+#include <stdint.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include "memory.h"
@@ -61,7 +62,7 @@ void *safe_calloc(size_t nmemb, size_t size)
   if (!nmemb || !size)
     return NULL;
 
-  if (((size_t) -1) / nmemb <= size)
+  if (nmemb > (SIZE_MAX / size))
   {
     mutt_error(_("Integer overflow -- can't allocate memory!"));
     sleep(1);