diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-07-19 13:27:32 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2014-07-19 13:27:32 -0400 |
commit | e0f01e5b67dfbe41ff810f466e2173390f8d37a7 (patch) | |
tree | 29ee85767f0d859e3f91199c747d5896aa3ac71e /src/libudev/util.c | |
parent | 54fac72da7156f18870ed6a53ea1ccfa80b6a1f6 (diff) |
Be more careful when checking for empty files
If we want to avoid reading a totally empty file, it seems better
to check after we have opened the file, not before.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src/libudev/util.c')
-rw-r--r-- | src/libudev/util.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libudev/util.c b/src/libudev/util.c index af7477ba6f..116d723a0f 100644 --- a/src/libudev/util.c +++ b/src/libudev/util.c @@ -658,6 +658,17 @@ int null_or_empty_path(const char *fn) { return null_or_empty(&st); } +int null_or_empty_fd(int fd) { + struct stat st; + + assert(fd >= 0); + + if (fstat(fd, &st) < 0) + return -errno; + + return null_or_empty(&st); +} + bool dirent_is_file_with_suffix(const struct dirent *de, const char *suffix) { assert(de); |