git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] cocci: use MEMZERO_ARRAY() a bit more

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 13, 2025, 01:46 UTC
Message-ID
<20251213014628.3380826-3-gitster@pobox.com>
In-Reply-To
<20251213014628.3380826-1-gitster@pobox.com>

Existing code in files that have been fairly stable trigger the "make coccicheck" suggestions due to the new check.

Rewrite them to use MEMZERO_ARRAY()
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 diffcore-delta.c    | 4 ++--
 linear-assignment.c | 4 ++--
 shallow.c           | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/diffcore-delta.c b/diffcore-delta.c
index ba6cbee76b..2de9e9ccff 100644
--- a/diffcore-delta.c
+++ b/diffcore-delta.c
@@ -56,7 +56,7 @@ static struct spanhash_top *spanhash_rehash(struct spanhash_top *orig)
 			     st_mult(sizeof(struct spanhash), sz)));
 	new_spanhash->alloc_log2 = orig->alloc_log2 + 1;
 	new_spanhash->free = INITIAL_FREE(new_spanhash->alloc_log2);
-	memset(new_spanhash->data, 0, sizeof(struct spanhash) * sz);
+	MEMZERO_ARRAY(new_spanhash->data, sz);
 	for (i = 0; i < osz; i++) {
 		struct spanhash *o = &(orig->data[i]);
 		int bucket;
@@ -135,7 +135,7 @@ static struct spanhash_top *hash_chars(struct repository *r,
 			      st_mult(sizeof(struct spanhash), (size_t)1 << i)));
 	hash->alloc_log2 = i;
 	hash->free = INITIAL_FREE(i);
-	memset(hash->data, 0, sizeof(struct spanhash) * ((size_t)1 << i));
+	MEMZERO_ARRAY(hash->data, ((size_t)1 << i));
 
 	n = 0;
 	accum1 = accum2 = 0;
diff --git a/linear-assignment.c b/linear-assignment.c
index 5416cbcf40..97b4f75058 100644
--- a/linear-assignment.c
+++ b/linear-assignment.c
@@ -20,8 +20,8 @@ void compute_assignment(int column_count, int row_count, int *cost,
 	int i, j, phase;
 
 	if (column_count < 2) {
-		memset(column2row, 0, sizeof(int) * column_count);
-		memset(row2column, 0, sizeof(int) * row_count);
+		MEMZERO_ARRAY(column2row, column_count);
+		MEMZERO_ARRAY(row2column, row_count);
 		return;
 	}
 
diff --git a/shallow.c b/shallow.c
index d9cd4e219c..c20471cd7e 100644
--- a/shallow.c
+++ b/shallow.c
@@ -713,7 +713,7 @@ void assign_shallow_commits_to_refs(struct shallow_info *info,
 
 	if (used) {
 		int bitmap_size = DIV_ROUND_UP(pi.nr_bits, 32) * sizeof(uint32_t);
-		memset(used, 0, sizeof(*used) * info->shallow->nr);
+		MEMZERO_ARRAY(used, info->shallow->nr);
 		for (i = 0; i < nr_shallow; i++) {
 			const struct commit *c = lookup_commit(the_repository,
 							       &oid[shallow[i]]);
@@ -782,7 +782,7 @@ static void post_assign_shallow(struct shallow_info *info,
 
 	trace_printf_key(&trace_shallow, "shallow: post_assign_shallow\n");
 	if (ref_status)
-		memset(ref_status, 0, sizeof(*ref_status) * info->ref->nr);
+		MEMZERO_ARRAY(ref_status, info->ref->nr);
 
 	/* Remove unreachable shallow commits from "theirs" */
 	for (i = dst = 0; i < info->nr_theirs; i++) {
-- 
2.52.0-357-gead5eaf5b3
Previous: Patrick Steinhardt
Message 4 of 4 in “Use MEMZERO_ARRAY() a bit more”
  1. 0/2 Use MEMZERO_ARRAY() a bit moreJunio C Hamano, Dec 13, 2025
  2. 1/2 coccicheck: emit the contents of cocci patchJunio C Hamano, Dec 13, 2025
  3. Patrick SteinhardtDec 15, 2025
  4. 2/2 cocci: use MEMZERO_ARRAY() a bit moreJunio C Hamano, Dec 13, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.