[RFC PATCH mtd-utils 056/110] ubifs-utils: open_ubi: Set errno if the target is not char device

From: Zhihao Cheng
Date: Fri Jun 07 2024 - 00:40:06 EST


Set errno if the target is not char device. It will be useful for
fsck to print error message if open_ubi failed.

Signed-off-by: Zhihao Cheng <chengzhihao1@xxxxxxxxxx>
---
ubifs-utils/libubifs/super.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/ubifs-utils/libubifs/super.c b/ubifs-utils/libubifs/super.c
index 1cbbfcac..9fa366f3 100644
--- a/ubifs-utils/libubifs/super.c
+++ b/ubifs-utils/libubifs/super.c
@@ -43,9 +43,14 @@ int open_ubi(struct ubifs_info *c, const char *node)
{
struct stat st;

- if (stat(node, &st) || !S_ISCHR(st.st_mode))
+ if (stat(node, &st))
return -1;

+ if (!S_ISCHR(st.st_mode)) {
+ errno = ENODEV;
+ return -1;
+ }
+
c->libubi = libubi_open();
if (!c->libubi)
return -1;
--
2.13.6