From eb89b060f62734722a656f9cbfe66cc6cadc67da Mon Sep 17 00:00:00 2001 From: EnderIce2 Date: Mon, 7 Apr 2025 07:42:27 +0000 Subject: [PATCH] fix(kernel/vfs): accessing null pointer --- Kernel/storage/fs/ramfs.cpp | 4 ++-- Kernel/storage/fs/ustar.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Kernel/storage/fs/ramfs.cpp b/Kernel/storage/fs/ramfs.cpp index cb83e622..ef822cea 100644 --- a/Kernel/storage/fs/ramfs.cpp +++ b/Kernel/storage/fs/ramfs.cpp @@ -91,9 +91,9 @@ namespace vfs node->Name.assign(basename, length); node->Mode = Mode; - auto &&file = Files.insert(std::make_pair(NextInode, node)); + auto file = Files.insert(std::make_pair(NextInode, node)); assert(file.second == true); - *Result = &file.first->second->Node; + *Result = &Files.at(NextInode)->Node; if (Parent) Parent->AddChild(node); NextInode++; diff --git a/Kernel/storage/fs/ustar.cpp b/Kernel/storage/fs/ustar.cpp index 163a9f4f..1c929dc8 100644 --- a/Kernel/storage/fs/ustar.cpp +++ b/Kernel/storage/fs/ustar.cpp @@ -159,13 +159,13 @@ namespace vfs node->Name.assign(basename, length); node->Path.assign(Name, strlen(Name)); - auto &&file = Files.insert(std::make_pair(NextInode, node)); + auto file = Files.insert(std::make_pair(NextInode, node)); assert(file.second == true); - *Result = &file.first->second->Node; + *Result = &Files.at(NextInode)->Node; if (Parent) { - Parent->Children.push_back(file.first->second); - file.first->second->Parent = Parent; + Parent->Children.push_back(Files.at(NextInode)); + Files.at(NextInode)->Parent = Parent; } NextInode++; return 0;