summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Hommel <wolfcw@users.noreply.github.com>2022-08-28 13:33:51 +0200
committerGitHub <noreply@github.com>2022-08-28 13:33:51 +0200
commit2adb56b07fe9a250bbf5b3ba58c215ddc6a179e0 (patch)
tree2315ee81633e101ffd227fd5ca2062ee2c66e6bb
parent32eedc2b42d29a8658dc3c4d877410c6ae7b3328 (diff)
parent1c80b19fe5f631b8d6106630803d586c8a1616a7 (diff)
downloadlibfaketime-2adb56b07fe9a250bbf5b3ba58c215ddc6a179e0.tar.gz
Merge pull request #408 from daglem/short_read
Handle short reads from timestamp file
-rw-r--r--src/libfaketime.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libfaketime.c b/src/libfaketime.c
index 28b90f5..b5b0fe2 100644
--- a/src/libfaketime.c
+++ b/src/libfaketime.c
@@ -3142,9 +3142,13 @@ int read_config_file()
(faketimerc = open(filename, O_RDONLY)) != -1 ||
(faketimerc = open("/etc/faketimerc", O_RDONLY)) != -1)
{
- ssize_t length = read(faketimerc, user_faked_time, sizeof(user_faked_time) - 1);
+ ssize_t bytes;
+ ssize_t length = 0;
+ while ((bytes = read(faketimerc, user_faked_time + length, sizeof(user_faked_time) - 1 - length)) > 0) {
+ length += bytes;
+ }
close(faketimerc);
- if (length < 0) {
+ if (bytes < 0) {
length = 0;
}
user_faked_time[length] = 0;