]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
stat-util: STATX_TYPE and STATX_INO should be always set
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 5 Jan 2026 04:24:41 +0000 (13:24 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 13 Jan 2026 01:21:05 +0000 (10:21 +0900)
src/basic/stat-util.c

index b7016ed6b7c7cf35f35b9f04c51ed59cce526bdd..bb20ba50dee3e6d95565e11926d43f6ac96904c9 100644 (file)
@@ -463,8 +463,13 @@ bool statx_inode_same(const struct statx *a, const struct statx *b) {
 
         /* Same as stat_inode_same() but for struct statx */
 
-        return statx_is_set(a) && statx_is_set(b) &&
-                FLAGS_SET(a->stx_mask, STATX_TYPE|STATX_INO) && FLAGS_SET(b->stx_mask, STATX_TYPE|STATX_INO) &&
+        if (!statx_is_set(a) || !statx_is_set(b))
+                return false;
+
+        assert(FLAGS_SET(a->stx_mask, STATX_TYPE|STATX_INO));
+        assert(FLAGS_SET(b->stx_mask, STATX_TYPE|STATX_INO));
+
+        return
                 ((a->stx_mode ^ b->stx_mode) & S_IFMT) == 0 &&
                 a->stx_dev_major == b->stx_dev_major &&
                 a->stx_dev_minor == b->stx_dev_minor &&