fstab-generator: Prevent double free of reused FILE*

When the .automount unit file already existed for any reason in the
`normal-dir` passed to `systemd-fstab-generator`, but the normal .mount unit
file did not, `f` was closed (but _not_ set to NULL). The call to
`generator_open_unit_file(..., automount_name, &f)` then failed because the
.mount unit file already existed. Now `f` did not point to an open FILE and the
later cleanup from the `_cleanup_fclose_` attribute failed with a double free.
Reset `f` to NULL before reusing it.
This commit is contained in:
Wieland Hoffmann 2019-05-02 20:10:08 +02:00 committed by Lennart Poettering
parent 64538af89b
commit 8a7033ac2f
1 changed files with 1 additions and 1 deletions

View File

@ -463,7 +463,7 @@ static int add_mount(
if (r < 0)
return log_error_errno(r, "Failed to generate unit name: %m");
fclose(f);
f = safe_fclose(f);
r = generator_open_unit_file(dest, "/etc/fstab", automount_name, &f);
if (r < 0)