partial_realloc.rs 503 B

123456789101112131415161718192021222324252627
  1. extern crate ralloc;
  2. mod util;
  3. use std::ptr;
  4. #[test]
  5. fn partial_realloc() {
  6. util::multiply(|| {
  7. let mut alloc = ralloc::Allocator::new();
  8. let buf = alloc.alloc(63, 3);
  9. unsafe {
  10. util::acid(|| {
  11. ptr::write_bytes(buf, 0, 63);
  12. *buf = 4;
  13. });
  14. alloc.realloc(buf.offset(8), 75, 0, 23);
  15. *buf = 5;
  16. *alloc.realloc(buf, 4, 10, 2) = 10;
  17. alloc.free(buf, 4);
  18. }
  19. });
  20. }