mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-18 13:26:27 +00:00
fs_rom: use dataspace bounds for clearing
Avoid potential risk of exceeding the dataspace bounds should the stored file size be larger than the current ds size. Issue #3897
This commit is contained in:
parent
4d7a5b6829
commit
9e4b27a829
@ -258,7 +258,7 @@ class Fs_rom::Rom_session_component : public Rpc_object<Rom_session>
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
memset(_file_ds.local_addr<char>(), 0x00, _file_ds.size());
|
_file_ds.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* omit read if file is empty */
|
/* omit read if file is empty */
|
||||||
@ -333,7 +333,7 @@ class Fs_rom::Rom_session_component : public Rpc_object<Rom_session>
|
|||||||
/* notify if the file is removed */
|
/* notify if the file is removed */
|
||||||
catch (File_system::Lookup_failed) {
|
catch (File_system::Lookup_failed) {
|
||||||
if (_file_size > 0) {
|
if (_file_size > 0) {
|
||||||
memset(_file_ds.local_addr<char>(), 0x00, (size_t)_file_size);
|
_file_ds.clear();
|
||||||
_file_size = 0;
|
_file_size = 0;
|
||||||
Signal_transmitter(_sigh).submit();
|
Signal_transmitter(_sigh).submit();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user