2 ms·
To support running code you'll need to call mprotect(2) on the buffer to make it executable. If you hit Ctrl-d on this code it will burn through that loop cons
by asveikau 3y ago
To support running code you'll need to call mprotect(2) on the buffer to make it executable.
If you hit Ctrl-d on this code it will burn through that loop constantly with no input. You need to check fgets()'s return code, it will be NULL on error or eof.
- gabrielsroka 3y agoThank you. I saw a warning about that from the compiler. But like I said I'm not a C programmer. Feel free to submit a PR if you like. I assume you're talking about Linux/Unix. I'm mostly a Windows guy.
- asveikau 3y agoI am knowledgeable about both. Unix guy at heart but used to work for MSFT on windows. The Windows version of mprotect(2) is VirtualProtect. It would probably make more sense to allocate the buffer with VirtualAlloc with the correct flags, rather than modify a stack buffer. The Unix version of that would be to allocate with mmap(2). Edit: https://github.com/gabrielsroka/gabrielsroka.github.io/pull/62 https://github.com/gabrielsroka/gabrielsroka.github.io/pull/...