diff --git a/src/util/os_file.c b/src/util/os_file.c index 1c30df6486a..5f79284e083 100644 --- a/src/util/os_file.c +++ b/src/util/os_file.c @@ -89,7 +89,12 @@ typedef ptrdiff_t ssize_t; static ssize_t readN(int fd, char *buf, size_t len) { - int err = -ENODATA; + /* err was initially set to -ENODATA but in some BSD systems + * ENODATA is not defined and ENOATTR is used instead. + * As err is not returned by any function it can be initialized + * to -EFAULT that exists everywhere. + */ + int err = -EFAULT; size_t total = 0; do { ssize_t ret = read(fd, buf + total, len - total);