aboutsummaryrefslogtreecommitdiff
path: root/src/gdbmopen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gdbmopen.c')
-rw-r--r--src/gdbmopen.c8
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;

Return to:

Send suggestions and report system problems to the System administrator.