core: fix mtime calculation of dropin files
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 3 Mar 2021 23:36:24 +0000 (00:36 +0100)
committerCarlos Henrique Lima Melara <charlesmelara@riseup.net>
Thu, 26 Jun 2025 00:44:53 +0000 (21:44 -0300)
commite0c7cfa2822e8aa7f1a6c4935f0fb5d175e326c6
tree07b7d65144b0627c9e197e5dbea7a3cc18604c91
parent8c5aef4a012124ff93df8920b24b0d570c894854
core: fix mtime calculation of dropin files

Nominally, the bug was in unit_load_dropin(), which just took the last mtime
instead of calculating the maximum. But instead of adding code to wrap the
loop, this patch goes in the other direction.

All (correct) callers of config_parse() followed a very similar pattern to
calculate the maximum mtime. So let's simplify things by making config_parse()
assume that mtime is initialized and update it to the maximum. This makes all
the callers that care about mtime simpler and also fixes the issue in
unit_load_dropin().

config_parse_many_nulstr() and config_parse_many() are different, because it
makes sense to call them just once, and current ret_mtime behaviour make sense.

Fixes #17730, https://bugzilla.redhat.com/show_bug.cgi?id=1933137.

(cherry picked from commit da46a1bc3cd28ac36114002c216196dae004b05c)

Gbp-Pq: Name core-fix-mtime-calculation-of-dropin-files.patch
src/core/load-dropin.c
src/shared/conf-parser.c
src/shared/conf-parser.h