[PATCH] erofs-utils: lib: fix incorrect usages of `erofs_strerror`
Tianyi Liu
i.pear at outlook.com
Fri Feb 9 00:59:09 AEDT 2024
`erofs_strerror` accepts a negative argument,
so `errno` should be negatived before passing to it.
Signed-off-by: Tianyi Liu <i.pear at outlook.com>
---
lib/inode.c | 2 +-
lib/tar.c | 2 +-
lib/xattr.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/inode.c b/lib/inode.c
index c6424c0..2a9b18c 100644
--- a/lib/inode.c
+++ b/lib/inode.c
@@ -1146,7 +1146,7 @@ static int erofs_mkfs_build_tree(struct erofs_inode *dir, struct list_head *dirs
_dir = opendir(dir->i_srcpath);
if (!_dir) {
erofs_err("failed to opendir at %s: %s",
- dir->i_srcpath, erofs_strerror(errno));
+ dir->i_srcpath, erofs_strerror(-errno));
return -errno;
}
diff --git a/lib/tar.c b/lib/tar.c
index 8204939..ead74ba 100644
--- a/lib/tar.c
+++ b/lib/tar.c
@@ -106,7 +106,7 @@ int erofs_iostream_open(struct erofs_iostream *ios, int fd, int decoder)
#ifdef HAVE_POSIX_FADVISE
if (posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL))
erofs_warn("failed to fadvise: %s, ignored.",
- erofs_strerror(errno));
+ erofs_strerror(-errno));
#endif
}
ios->bufsize = 16384;
diff --git a/lib/xattr.c b/lib/xattr.c
index 77c8c3a..427933f 100644
--- a/lib/xattr.c
+++ b/lib/xattr.c
@@ -698,7 +698,7 @@ static int erofs_count_all_xattrs_from_path(const char *path)
_dir = opendir(path);
if (!_dir) {
erofs_err("failed to opendir at %s: %s",
- path, erofs_strerror(errno));
+ path, erofs_strerror(-errno));
return -errno;
}
--
2.43.0
More information about the Linux-erofs
mailing list