4 ms·
What are you responding to here? > If a process has the ability to do something, then it may do so You agree with me. Once again, on an embedded device writin
by grandempire 2y ago
What are you responding to here?
> If a process has the ability to do something, then it may do so
You agree with me. Once again, on an embedded device writing over a buffer may do absolutely anything. Thanks to memory protection, what a process can do is more limited. The C spec is written for both cases.
No gcc and clang will not insert code to start rm’ing files when you overflow a signed integer.
- jenadine 2y ago> gcc and clang will not insert code to start rm’ing files when you overflow a signed integer. It could. If it detect that a code path cannot be taken without causing overflow, it will assume this code path cannot be taken and will optimise it by removing it. No need even to return from the function. If you reach this code anyway, it can run whatever functions is on the binary after it. If you're unlucky that's a function to remove temporary files which would be ran with bogus arguments.
- eru 2y agoIf you are unlucky, it's going to execute whatever user data a malicious attacker added by carefully crafted input. (Yes, these days that's harder, but you can still do a more complicated version of the same attacks. See return oriented programming.)