diff options
Diffstat (limited to 'src/util/bits.c')
| -rw-r--r-- | src/util/bits.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/util/bits.c b/src/util/bits.c index 05b71aa..6adae05 100644 --- a/src/util/bits.c +++ b/src/util/bits.c @@ -10,7 +10,8 @@ bits_t *bits_new(size_t bit_len) { bits_t *result = try_calloc(sizeof(bits_t)); size_t byte_len = BYTE_LEN(bit_len); - result->bits = try_calloc(byte_len); + if (byte_len > 0) + result->bits = try_calloc(byte_len); result->allocated = byte_len; result->bitlen = bit_len; return result; @@ -82,7 +83,8 @@ bits_t *bits_from_raw(const unsigned char *bits, size_t bit_len) { bits_t *result = try_calloc(sizeof(bits_t)); result->bitlen = bit_len; result->allocated = BYTE_LEN(bit_len); - result->bits = try_memdup(bits, result->allocated); + if (bit_len > 0) + result->bits = try_memdup(bits, result->allocated); return result; } |
