Thread (85 messages) 85 messages, 6 authors, 2024-06-06
STALE751d

[PATCH v5 07/12] refs/files: fix NULL pointer deref when releasing ref store

From: Patrick Steinhardt <hidden>
Date: 2024-06-06 05:29:30
Subsystem: the rest · Maintainer: Linus Torvalds

The `free_ref_cache()` function is not `NULL` safe and will thus
segfault when being passed such a pointer. This can easily happen when
trying to release a partially initialized "files" ref store. Fix this.

Signed-off-by: Patrick Steinhardt <redacted>
---
 refs/ref-cache.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/refs/ref-cache.c b/refs/ref-cache.c
index b6c53fc8ed..4ce519bbc8 100644
--- a/refs/ref-cache.c
+++ b/refs/ref-cache.c
@@ -71,6 +71,8 @@ static void free_ref_entry(struct ref_entry *entry)
 
 void free_ref_cache(struct ref_cache *cache)
 {
+	if (!cache)
+		return;
 	free_ref_entry(cache->root);
 	free(cache);
 }
-- 
2.45.2.409.g7b0defb391.dirty

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help