mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:17:44 +00:00
Kernel: Make Process::procfs_get_pledge_stats OOM-fallible
We can completely avoid the string allocation by using string_view().
This commit is contained in:
parent
7f44e54ad6
commit
0218c62be4
1 changed files with 6 additions and 6 deletions
|
@ -126,16 +126,16 @@ ErrorOr<NonnullRefPtr<Inode>> Process::lookup_file_descriptions_directory(const
|
||||||
ErrorOr<void> Process::procfs_get_pledge_stats(KBufferBuilder& builder) const
|
ErrorOr<void> Process::procfs_get_pledge_stats(KBufferBuilder& builder) const
|
||||||
{
|
{
|
||||||
JsonObjectSerializer obj { builder };
|
JsonObjectSerializer obj { builder };
|
||||||
#define __ENUMERATE_PLEDGE_PROMISE(x) \
|
#define __ENUMERATE_PLEDGE_PROMISE(x) \
|
||||||
if (has_promised(Pledge::x)) { \
|
if (has_promised(Pledge::x)) { \
|
||||||
if (!builder.is_empty()) \
|
if (!builder.is_empty()) \
|
||||||
builder.append(' '); \
|
TRY(builder.try_append(' ')); \
|
||||||
builder.append(#x); \
|
TRY(builder.try_append(#x)); \
|
||||||
}
|
}
|
||||||
if (has_promises()) {
|
if (has_promises()) {
|
||||||
StringBuilder builder;
|
StringBuilder builder;
|
||||||
ENUMERATE_PLEDGE_PROMISES
|
ENUMERATE_PLEDGE_PROMISES
|
||||||
obj.add("promises", builder.build());
|
obj.add("promises", builder.string_view());
|
||||||
}
|
}
|
||||||
#undef __ENUMERATE_PLEDGE_PROMISE
|
#undef __ENUMERATE_PLEDGE_PROMISE
|
||||||
obj.finish();
|
obj.finish();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue