summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2022-01-08 11:57:17 +0200
committerSergey Poznyakoff <gray@gnu.org>2022-01-08 11:57:17 +0200
commitb1d8981cc8e0845d1917c859356fa5ba458d17ad (patch)
tree081845bd928394ba1e122712d776397c6d4b4d66
parent94a12d935e61272765e45b44e6323be693c979a5 (diff)
downloadgdbm-b1d8981cc8e0845d1917c859356fa5ba458d17ad.tar.gz
Bugfixes
* src/bucket.c (_gdbm_cache_init): Accept sizes greater than the directory size. * src/gdbmsetopt.c (setopt_gdbm_getdbformat): Return 0 on success.
-rw-r--r--src/bucket.c3
-rw-r--r--src/gdbmsetopt.c1
2 files changed, 2 insertions, 2 deletions
diff --git a/src/bucket.c b/src/bucket.c
index b51f872..0abec58 100644
--- a/src/bucket.c
+++ b/src/bucket.c
@@ -707,8 +707,7 @@ _gdbm_cache_init (GDBM_FILE dbf, size_t size)
cache_auto = TRUE;
bits = dbf->cache ? dbf->cache_bits : INIT_CACHE_BITS;
}
- else if (size > GDBM_DIR_COUNT (dbf) ||
- size > SIZE_T_MAX / sizeof (dbf->cache[0]))
+ else if (size > SIZE_T_MAX / sizeof (dbf->cache[0]))
{
GDBM_SET_ERRNO (dbf, GDBM_OPT_BADVAL, FALSE);
return -1;
diff --git a/src/gdbmsetopt.c b/src/gdbmsetopt.c
index 561f33d..068d8d1 100644
--- a/src/gdbmsetopt.c
+++ b/src/gdbmsetopt.c
@@ -352,6 +352,7 @@ setopt_gdbm_getdbformat (GDBM_FILE dbf, void *optval, int optlen)
case GDBM_NUMSYNC_MAGIC:
*(int*)optval = GDBM_NUMSYNC;
}
+ return 0;
}
GDBM_SET_ERRNO (dbf, GDBM_OPT_BADVAL, FALSE);