diff options
author | Topi Miettinen <toiwoton@gmail.com> | 2019-02-01 23:52:00 +0200 |
---|---|---|
committer | Topi Miettinen <toiwoton@gmail.com> | 2019-02-02 16:25:32 +0200 |
commit | a21760454db4b19e7299ead712fb895d8704b37d (patch) | |
tree | 2a24bf42e1983c4d81a17c29dca1e1477a2b4894 /src/rfkill/rfkill.c | |
parent | cbed254f9673256836554b0b6e16941747f925f8 (diff) | |
download | systemd-a21760454db4b19e7299ead712fb895d8704b37d.tar.gz |
Detect file truncation earlier in a few places
Users of read_one_line_file() for APIVFS entries are ignored as they are
assumed to never get truncated.
Diffstat (limited to 'src/rfkill/rfkill.c')
-rw-r--r-- | src/rfkill/rfkill.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c index ac21dc064c..8a92a4de6e 100644 --- a/src/rfkill/rfkill.c +++ b/src/rfkill/rfkill.c @@ -147,8 +147,8 @@ static int load_state(Context *c, const struct rfkill_event *event) { return r; r = read_one_line_file(state_file, &value); - if (r == -ENOENT) { - /* No state file? Then save the current state */ + if (IN_SET(r, -ENOENT, 0)) { + /* No state file or it's truncated? Then save the current state */ r = write_string_file(state_file, one_zero(event->soft), WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_ATOMIC); if (r < 0) |