]> git.ipfire.org Git - thirdparty/systemd.git/commit
coccinelle: ignore function transformations causing recursion
authorFrantisek Sumsal <frantisek@sumsal.cz>
Sun, 28 Apr 2019 15:13:29 +0000 (17:13 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Mon, 29 Apr 2019 13:38:53 +0000 (15:38 +0200)
commit60d9959dd8ba90e4a112e6e65429b112334d1bf8
treebb83c9c370cb9660ccb327b32ef4468fe847af80
parent33af88cf70fce38a39642e92609cfba655925d55
coccinelle: ignore function transformations causing recursion

For example, following transformation:

- isempty(s) ? NULL : s
+ empty_to_null(s)

would get applied to the empty_to_null function itself as well,
causing an infinite recursion, like:

--- src/basic/string-util.h
+++ /tmp/cocci-output-307-9f76e6-string-util.h
@@ -50,11 +50,11 @@ static inline bool isempty(const char *p
 }

 static inline const char *empty_to_null(const char *p) {
-        return isempty(p) ? NULL : p;
+        return empty_to_null(p);
 }

Let's avoid that by checking the current match position
coccinelle/empty-to-null.cocci
coccinelle/mfree_return.cocci
coccinelle/strempty.cocci