From 0fb533f5695837f49f3c62c82999b37fa4f244af Mon Sep 17 00:00:00 2001 From: Zhihao Cheng Date: Mon, 11 Nov 2024 17:01:01 +0800 Subject: ubifs-utils: open_ubi: Set errno if the target is not char device 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 Signed-off-by: David Oberhollenzer --- ubifs-utils/libubifs/super.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'ubifs-utils') diff --git a/ubifs-utils/libubifs/super.c b/ubifs-utils/libubifs/super.c index 1cbbfca..9fa366f 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; -- cgit v1.2.3