On Friday, 24 May 2019 at 13:30:05 UTC, ag0aep6g wrote:
On Friday, 24 May 2019 at 13:13:12 UTC, Atila Neves wrote:
Thanks for this. I think the only violation is calling `stringz` on `Z`, and that was due to a poorly designed DbI check on being able to call `stringz`. Allocating generally isn't @system, and freeing is ok to trust since vector is taking care of it for us. I've pushed a fix.

I think you're missing the point. When your function is marked as @safe or @trusted, then any execution of a user-provided @system function is a safety violation.

My `puts`s might not do any harm, but they could just as well be buffer overflows.

Could you please give an example of how @system allocator code could do that?

Reply via email to