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;
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@huawei.com> --- ubifs-utils/libubifs/super.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)