From d4036d1e9dcd8587a2c9303fc0d5a7e12c4c7de5 Mon Sep 17 00:00:00 2001 From: Marsman1996 Date: Wed, 25 Sep 2024 23:33:14 +0800 Subject: [PATCH] Handle error in `FsResolver::create_new_file()` --- kernel/src/fs/fs_resolver.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/src/fs/fs_resolver.rs b/kernel/src/fs/fs_resolver.rs index f03a97b42..e4f98fe01 100644 --- a/kernel/src/fs/fs_resolver.rs +++ b/kernel/src/fs/fs_resolver.rs @@ -131,7 +131,9 @@ impl FsResolver { return_errno_with_message!(Errno::EISDIR, "path refers to a directory"); } - let parent = lookup_ctx.parent().unwrap(); + let parent = lookup_ctx + .parent() + .ok_or_else(|| Error::with_message(Errno::ENOENT, "parent not found"))?; if !parent.mode()?.is_writable() { return_errno_with_message!(Errno::EACCES, "file cannot be created"); }