Comment Comment by unwind More obvious problems with the code as shown:- The macros doing arithmetic (KiB, MIN etc) don't put their arguments in parentheses, that is very dangerous.- The code assumes that int and i32 are the same size.- Don't cast the return value of malloc(). Please Google this.I appreciated the use of structs by value, that's a nice design.I agree there's a risk of overflow in the arithmetic around sizes/alignment, but with a 64-bit `usize` that should be mostly theoretical. parent unwind 18 days ago
- The macros doing arithmetic (KiB, MIN etc) don't put their arguments in parentheses, that is very dangerous.
- The code assumes that int and i32 are the same size.
- Don't cast the return value of malloc(). Please Google this.
I appreciated the use of structs by value, that's a nice design.
I agree there's a risk of overflow in the arithmetic around sizes/alignment, but with a 64-bit `usize` that should be mostly theoretical.