mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 22:07:34 +00:00
LibIPC: Do not leak the Core::File fd by default
This prevents fd leaks when the user of the API forgets to pass CloseAfterSending to IPC::File. Since we are calling leak_fd in the constructor, we want it to also take care of closing.
This commit is contained in:
parent
318a3a0822
commit
88872ca42d
3 changed files with 5 additions and 6 deletions
|
@ -81,7 +81,7 @@ void ConnectionFromClient::request_file_handler(i32 request_id, i32 window_serve
|
|||
dbgln("FileSystemAccessServer: Couldn't open {}, error {}", path, file.error());
|
||||
async_handle_prompt_end(request_id, file.error().code(), Optional<IPC::File> {}, path);
|
||||
} else {
|
||||
async_handle_prompt_end(request_id, 0, IPC::File(*file.release_value(), IPC::File::CloseAfterSending), path);
|
||||
async_handle_prompt_end(request_id, 0, IPC::File(*file.release_value()), path);
|
||||
}
|
||||
} else {
|
||||
async_handle_prompt_end(request_id, EPERM, Optional<IPC::File> {}, path);
|
||||
|
@ -138,7 +138,7 @@ void ConnectionFromClient::prompt_helper(i32 request_id, Optional<DeprecatedStri
|
|||
|
||||
m_approved_files.set(user_picked_file.value(), new_permissions);
|
||||
|
||||
async_handle_prompt_end(request_id, 0, IPC::File(*file.release_value(), IPC::File::CloseAfterSending), user_picked_file);
|
||||
async_handle_prompt_end(request_id, 0, IPC::File(*file.release_value()), user_picked_file);
|
||||
}
|
||||
} else {
|
||||
async_handle_prompt_end(request_id, ECANCELED, Optional<IPC::File> {}, Optional<DeprecatedString> {});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue