From 11bd2002bb56a977783f9a4ca5d7a19d266a5086 Mon Sep 17 00:00:00 2001 From: Brian Gianforcaro Date: Tue, 11 May 2021 03:54:44 -0700 Subject: [PATCH] Kernel: Make InodeFile::create() API OOM safe --- Kernel/FileSystem/InodeFile.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Kernel/FileSystem/InodeFile.h b/Kernel/FileSystem/InodeFile.h index ddf4d22bb1..0bf3134570 100644 --- a/Kernel/FileSystem/InodeFile.h +++ b/Kernel/FileSystem/InodeFile.h @@ -14,9 +14,12 @@ class Inode; class InodeFile final : public File { public: - static NonnullRefPtr create(NonnullRefPtr&& inode) + static KResultOr> create(NonnullRefPtr&& inode) { - return adopt_ref(*new InodeFile(move(inode))); + auto file = adopt_ref_if_nonnull(new InodeFile(move(inode))); + if (!file) + return ENOMEM; + return file.release_nonnull(); } virtual ~InodeFile() override;