diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2022-01-08 11:57:17 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2022-01-08 11:57:17 +0200 |
commit | b1d8981cc8e0845d1917c859356fa5ba458d17ad (patch) | |
tree | 081845bd928394ba1e122712d776397c6d4b4d66 | |
parent | 94a12d935e61272765e45b44e6323be693c979a5 (diff) | |
download | gdbm-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.c | 3 | ||||
-rw-r--r-- | src/gdbmsetopt.c | 1 |
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); |