From 2068fde31114a2755ecadf151ce0b0747f9b534c Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 22 Dec 2016 11:58:29 -0500 Subject: [PATCH] fs-randomfail: Fix failure handling for fs_read() --- src/lib-fs/fs-randomfail.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib-fs/fs-randomfail.c b/src/lib-fs/fs-randomfail.c index c9e7e1177c..1ef01437d3 100644 --- a/src/lib-fs/fs-randomfail.c +++ b/src/lib-fs/fs-randomfail.c @@ -307,7 +307,9 @@ static ssize_t fs_randomfail_read(struct fs_file *_file, void *buf, size_t size) if (fs_file_random_fail_begin(file, FS_OP_READ)) return -1; ret = fs_read(_file->parent, buf, size); - return fs_file_random_fail_end(file, ret, FS_OP_READ); + if (fs_file_random_fail_end(file, ret < 0 ? -1 : 0, FS_OP_READ) < 0) + return -1; + return ret; } static struct istream *