forked from koniifer/ableos
Add check for non-existent buffer
This commit is contained in:
parent
15515e6643
commit
cb66c07a5f
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,9 @@ 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|
Loading…
Reference in a new issue