]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
chase: Allow passing NULL as the empty path to chaseat()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 2 Jun 2023 09:00:48 +0000 (11:00 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 6 Jun 2023 12:42:03 +0000 (14:42 +0200)
Per coding style, we should accept NULL as the empty path.

src/basic/chase.c
src/test/test-chase.c

index 600e2b9d33c7f82e8241da71360783a804f72c05..5475e8f70d79296a57850cbd9ea4eee768a0e6ce 100644 (file)
@@ -81,7 +81,6 @@ int chaseat(int dir_fd, const char *path, ChaseFlags flags, char **ret_path, int
         const char *todo;
         int r;
 
-        assert(path);
         assert(!FLAGS_SET(flags, CHASE_PREFIX_ROOT));
         assert(!FLAGS_SET(flags, CHASE_STEP|CHASE_EXTRACT_FILENAME));
         assert(!FLAGS_SET(flags, CHASE_TRAIL_SLASH|CHASE_EXTRACT_FILENAME));
index 5bbda2007beb8e8f3eaa53f7a65a51f7a17d0469..c62a14a777ad1c202a91cfc16e48b28fc81895b1 100644 (file)
@@ -570,6 +570,10 @@ TEST(chaseat) {
         assert_se(streq(result, "."));
         result = mfree(result);
 
+        assert_se(chaseat(tfd, NULL, CHASE_PARENT|CHASE_AT_RESOLVE_IN_ROOT|CHASE_EXTRACT_FILENAME, &result, NULL) >= 0);
+        assert_se(streq(result, "."));
+        result = mfree(result);
+
         /* Test chase_and_openat() */
 
         fd = chase_and_openat(tfd, "o/p/e/n/f/i/l/e", CHASE_MKDIR_0755, O_CREAT|O_EXCL|O_CLOEXEC, NULL);