Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-05-04 19:51:29 +0300
committerJunio C Hamano <gitster@pobox.com>2022-05-04 19:51:29 +0300
commit1c4411cce1bfc515cba4c1ca63b7d616e023b5e1 (patch)
treefda22d3544d15bc92e8e8a8dc37b8e734c8055da /reftable
parent73f96c977293a45688881e5de69c26f6f70942fd (diff)
parente6b2582da30b599d95f40510777c643b9fba9012 (diff)
Merge branch 'cm/reftable-0-length-memset'
Code clean-up. * cm/reftable-0-length-memset: reftable: avoid undefined behaviour breaking t0032
Diffstat (limited to 'reftable')
-rw-r--r--reftable/blocksource.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/reftable/blocksource.c b/reftable/blocksource.c
index 2605371c28..8331b34e82 100644
--- a/reftable/blocksource.c
+++ b/reftable/blocksource.c
@@ -15,7 +15,8 @@ https://developers.google.com/open-source/licenses/bsd
static void strbuf_return_block(void *b, struct reftable_block *dest)
{
- memset(dest->data, 0xff, dest->len);
+ if (dest->len)
+ memset(dest->data, 0xff, dest->len);
reftable_free(dest->data);
}
@@ -56,7 +57,8 @@ void block_source_from_strbuf(struct reftable_block_source *bs,
static void malloc_return_block(void *b, struct reftable_block *dest)
{
- memset(dest->data, 0xff, dest->len);
+ if (dest->len)
+ memset(dest->data, 0xff, dest->len);
reftable_free(dest->data);
}
@@ -85,7 +87,8 @@ static uint64_t file_size(void *b)
static void file_return_block(void *b, struct reftable_block *dest)
{
- memset(dest->data, 0xff, dest->len);
+ if (dest->len)
+ memset(dest->data, 0xff, dest->len);
reftable_free(dest->data);
}