mirror of
https://github.com/RGBCube/serenity
synced 2025-07-02 23:22:07 +00:00
AK+Kernel: OOM-harden most parts of Trie
The only part of Unveil that can't handle OOM gracefully is the String::formatted() use in the node metadata.
This commit is contained in:
parent
80e6198563
commit
a1cb2c371a
9 changed files with 145 additions and 99 deletions
|
@ -145,9 +145,9 @@ ErrorOr<void> Process::procfs_get_pledge_stats(KBufferBuilder& builder) const
|
|||
ErrorOr<void> Process::procfs_get_unveil_stats(KBufferBuilder& builder) const
|
||||
{
|
||||
JsonArraySerializer array { builder };
|
||||
for (auto const& unveiled_path : unveiled_paths()) {
|
||||
TRY(unveiled_paths().for_each_node_in_tree_order([&](auto const& unveiled_path) {
|
||||
if (!unveiled_path.was_explicitly_unveiled())
|
||||
continue;
|
||||
return;
|
||||
auto obj = array.add_object();
|
||||
obj.add("path", unveiled_path.path());
|
||||
StringBuilder permissions_builder;
|
||||
|
@ -162,7 +162,7 @@ ErrorOr<void> Process::procfs_get_unveil_stats(KBufferBuilder& builder) const
|
|||
if (unveiled_path.permissions() & UnveilAccess::Browse)
|
||||
permissions_builder.append('b');
|
||||
obj.add("permissions", permissions_builder.string_view());
|
||||
}
|
||||
}));
|
||||
array.finish();
|
||||
return {};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue