| ... | @@ -146,12 +146,8 @@ fn moveBytes( | ... | @@ -146,12 +146,8 @@ fn moveBytes( |
| 146 | assert(new_len > 0); | 146 | assert(new_len > 0); |
| 147 | const new_mem = try self.allocFn(self, new_len, new_alignment, len_align, return_address); | 147 | const new_mem = try self.allocFn(self, new_len, new_alignment, len_align, return_address); |
| 148 | @memcpy(new_mem.ptr, old_mem.ptr, math.min(new_len, old_mem.len)); | 148 | @memcpy(new_mem.ptr, old_mem.ptr, math.min(new_len, old_mem.len)); |
| 149 | // TODO DISABLED TO AVOID BUGS IN TRANSLATE C | 149 | // TODO https://github.com/ziglang/zig/issues/4298 |
| 150 | // TODO see also https://github.com/ziglang/zig/issues/4298 | 150 | @memset(old_mem.ptr, undefined, old_mem.len); |
| 151 | // use './zig build test-translate-c' to reproduce, some of the symbols in the | | |
| 152 | // generated C code will be a sequence of 0xaa (the undefined value), meaning | | |
| 153 | // it is printing data that has been freed | | |
| 154 | //@memset(old_mem.ptr, undefined, old_mem.len); | | |
| 155 | _ = self.shrinkBytes(old_mem, old_align, 0, 0, return_address); | 151 | _ = self.shrinkBytes(old_mem, old_align, 0, 0, return_address); |
| 156 | return new_mem; | 152 | return new_mem; |
| 157 | } | 153 | } |