# HG changeset patch # User Paul Boddie # Date 1679846067 -7200 # Node ID 5b8ea85e76681d3cf728e686ede2e25a1c3d2143 # Parent 2dd97d71e6273478226e3c982ec886cd30f2d69d Propagate errors when failing to detach dataspaces. diff -r 2dd97d71e627 -r 5b8ea85e7668 libfsclient/lib/src/file.cc --- a/libfsclient/lib/src/file.cc Sun Mar 26 01:52:16 2023 +0100 +++ b/libfsclient/lib/src/file.cc Sun Mar 26 17:54:27 2023 +0200 @@ -367,13 +367,18 @@ offset_t start_visible, offset_t end_visible, l4re_rm_flags_t region_flags) { + long err; + if (file->memory != NULL) { - ipc_detach_dataspace(file->memory); + err = ipc_detach_dataspace(file->memory); + if (err) + return err; + file->memory = NULL; } - long err = file_mmap_only(file, position, length, start_visible, end_visible); + err = file_mmap_only(file, position, length, start_visible, end_visible); if (err) return err; @@ -756,7 +761,10 @@ return err; if (pipe->memory != NULL) - ipc_detach_dataspace(pipe->memory); + err = ipc_detach_dataspace(pipe->memory); + + if (err) + return err; pipe->end_pos = pipe->size; pipe->memory = NULL;