aboutsummaryrefslogtreecommitdiff
path: root/src/mem/alloc.rs
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-08-19 23:35:18 -0700
committerChristian Cunningham <cc@localhost>2022-08-19 23:35:18 -0700
commitdc3326c21dad5fc72eff6804d1c9b1d673a79a12 (patch)
treea4219d9f665a1f4088bc57fdb6dc2c25a8be31bc /src/mem/alloc.rs
parent37038b21c3805de5c2117b2bd6e7397e16c999a3 (diff)
Fixed allocation bug
Diffstat (limited to 'src/mem/alloc.rs')
-rw-r--r--src/mem/alloc.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mem/alloc.rs b/src/mem/alloc.rs
index 927c00d..65e85eb 100644
--- a/src/mem/alloc.rs
+++ b/src/mem/alloc.rs
@@ -198,7 +198,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return &mut (*(*elem).inner() as u8) as *mut u8;
+ return (*elem).inner() as *mut u16 as *mut u8;
}
}
}
@@ -208,7 +208,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return &mut (*(*elem).inner() as u8) as *mut u8;
+ return (*elem).inner() as *mut u32 as *mut u8;
}
}
}
@@ -218,7 +218,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return &mut (*(*elem).inner() as u8) as *mut u8;
+ return (*elem).inner() as *mut u64 as *mut u8;
}
}
}
@@ -228,7 +228,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
panic!("No cells to allocate!");
}
Some(elem) => {
- return &mut (*(*elem).inner() as u8) as *mut u8;
+ return (*elem).inner() as *mut u128 as *mut u8;
}
}
}
@@ -254,7 +254,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
2 => {
U16_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr {
+ if pool[idx].inner() as *mut u16 as *mut u8 == ptr {
U16_GRAND_ALLOC.free(&mut pool[idx]);
return;
}
@@ -265,7 +265,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
4 => {
U32_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr {
+ if pool[idx].inner() as *mut u32 as *mut u8 == ptr {
U32_GRAND_ALLOC.free(&mut pool[idx]);
return;
}
@@ -276,7 +276,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
8 => {
U64_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr {
+ if pool[idx].inner() as *mut u64 as *mut u8 == ptr {
U64_GRAND_ALLOC.free(&mut pool[idx]);
return;
}
@@ -287,7 +287,7 @@ unsafe impl GlobalAlloc for GrandAllocator {
16 => {
U128_GRAND_ALLOC.inner.lock(|pool| {
for idx in 2..pool.len() {
- if &mut (*pool[idx].inner() as u8) as *mut u8 == ptr {
+ if pool[idx].inner() as *mut u128 as *mut u8 == ptr {
U128_GRAND_ALLOC.free(&mut pool[idx]);
return;
}