1
0
Fork 0
forked from AbleOS/ableos

Add check for non-existent buffer

This commit is contained in:
Jcodefox 2023-12-01 09:48:57 -05:00
parent 15515e6643
commit cb66c07a5f
2 changed files with 17 additions and 13 deletions

View file

@ -77,20 +77,23 @@ pub fn handler(vm: &mut Vm) {
buffer_id => { buffer_id => {
let mut buffs = IPC_BUFFERS.lock(); let mut buffs = IPC_BUFFERS.lock();
let mut buff = buffs.get_mut(&buffer_id).unwrap(); match buffs.get_mut(&buffer_id) {
Some(buff) => {
let mut msg_vec = vec![];
let mut msg_vec = vec![]; for x in 0..(length as isize) {
let xyz = mem_addr as *const u8;
for x in 0..(length as isize) { let value = unsafe { xyz.offset(x).read() };
let xyz = mem_addr as *const u8; msg_vec.push(value);
let value = unsafe { xyz.offset(x).read() }; }
msg_vec.push(value); buff.push(msg_vec.clone());
info!(
"Message {:?} has been sent to Buffer({})",
msg_vec, buffer_id
);
}
None => log::error!("Access of non-existent buffer")
} }
buff.push(msg_vec.clone());
info!(
"Message {:?} has been sent to Buffer({})",
msg_vec, buffer_id
);
drop(buffs); drop(buffs);
} }
} }

View file

@ -8,6 +8,7 @@ fn main(){
std::Trace("Trace Deez"); std::Trace("Trace Deez");
std::ipc_send(2, 0, 0); std::ipc_send(2, 0, 0);
std::ipc_send(3, 0, 0);
tx(); tx();
} }