basic: add assert() when doing pointer deref

Lennart reminded me in [1] that we need to add assert() in functions
that do pointer access. For the simple `*p` pointer dereferences
we even have an automatic coccinelle script that ensures that as
part of the automatic code checks.

However for deref in the `p->` style this is not supported right
now and adding it to coccinelle is hard because its too slow for
this kind of check. So I created a (slightly messy) tree-sitter
python script to see how many asserts we are currently missing.

This commit is the result of running it over the `src/basic`
dir and fixing the flagged issues. I plan to tidy it up and
add it to the checks too but this is orthogonal to this commit.

[1] https://github.com/systemd/systemd/pull/42360#discussion_r3426964562
This commit is contained in:
Michael Vogt
2026-06-25 10:40:21 +02:00
committed by Lennart Poettering
parent cd346b8ba7
commit bc4dfc24a5
26 changed files with 88 additions and 3 deletions
+1 -1
View File
@@ -86,7 +86,7 @@ static void bubbleinsert(struct strbuf_node *node,
.c = c,
.child = node_child,
};
int left = 0, right = node->children_count;
int left = 0, right = ASSERT_PTR(node)->children_count;
while (right > left) {
int middle = (right + left) / 2 ;