diff options
Diffstat (limited to 'src/gdbmopen.c')
-rw-r--r-- | src/gdbmopen.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/gdbmopen.c b/src/gdbmopen.c index 9c10d3d..22e7ca6 100644 --- a/src/gdbmopen.c +++ b/src/gdbmopen.c | |||
@@ -631,26 +631,24 @@ int | |||
631 | _gdbm_init_cache (GDBM_FILE dbf, size_t size) | 631 | _gdbm_init_cache (GDBM_FILE dbf, size_t size) |
632 | { | 632 | { |
633 | int index; | 633 | int index; |
634 | 634 | ||
635 | if (dbf->bucket_cache == NULL) | 635 | if (dbf->bucket_cache == NULL) |
636 | { | 636 | { |
637 | dbf->bucket_cache = GDBM_DEBUG_ALLOC ("_gdbm_init_cache:malloc-failure", | 637 | dbf->bucket_cache = calloc (size, sizeof(cache_elem)); |
638 | calloc (size, sizeof(cache_elem))); | ||
639 | if (dbf->bucket_cache == NULL) | 638 | if (dbf->bucket_cache == NULL) |
640 | { | 639 | { |
641 | GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE); | 640 | GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE); |
642 | return -1; | 641 | return -1; |
643 | } | 642 | } |
644 | dbf->cache_size = size; | 643 | dbf->cache_size = size; |
645 | 644 | ||
646 | for (index = 0; index < size; index++) | 645 | for (index = 0; index < size; index++) |
647 | { | 646 | { |
648 | (dbf->bucket_cache[index]).ca_bucket = | 647 | (dbf->bucket_cache[index]).ca_bucket = |
649 | GDBM_DEBUG_ALLOC ("_gdbm_init_cache:bucket-malloc-failure", | 648 | malloc (dbf->header->bucket_size); |
650 | malloc (dbf->header->bucket_size)); | ||
651 | if ((dbf->bucket_cache[index]).ca_bucket == NULL) | 649 | if ((dbf->bucket_cache[index]).ca_bucket == NULL) |
652 | { | 650 | { |
653 | GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE); | 651 | GDBM_SET_ERRNO (dbf, GDBM_MALLOC_ERROR, TRUE); |
654 | return -1; | 652 | return -1; |
655 | } | 653 | } |
656 | dbf->bucket_cache[index].ca_data.dptr = NULL; | 654 | dbf->bucket_cache[index].ca_data.dptr = NULL; |