]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-settings: Fix settings cache validity checks
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 27 May 2025 07:08:41 +0000 (10:08 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 16 Jun 2025 15:25:17 +0000 (15:25 +0000)
inode and size checks were swapped, so settings caching didn't actually
work.

src/lib-settings/settings.c

index e3ecfbaa7c6f4828d2e69507455103109c5154aa..72126555b2b70ed6c767e80f8e6d990f501bb4b1 100644 (file)
@@ -398,14 +398,14 @@ settings_read_config_paths(struct settings_mmap *mmap,
                                            error_r) < 0)
                        return -1;
                uint64_t inode, size;
-               if (settings_block_read_uint64(mmap, offset, mmap->mmap_size,
-                                              "config path size",
-                                              &size, error_r) < 0)
-                       return -1;
                if (settings_block_read_uint64(mmap, offset, mmap->mmap_size,
                                               "config path inode",
                                               &inode, error_r) < 0)
                        return -1;
+               if (settings_block_read_uint64(mmap, offset, mmap->mmap_size,
+                                              "config path size",
+                                              &size, error_r) < 0)
+                       return -1;
                uint32_t mtime_sec, mtime_nsec, ctime_sec, ctime_nsec;
                if (settings_block_read_uint32(mmap, offset, mmap->mmap_size,
                                               "config path mtime sec",