Bug#858529: libc6: fgets repeats content after fork on stretch only
tags 858529 upstream
forwarded 858529 https://sourceware.org/bugzilla/show_bug.cgi?id=20598
thanks
* Neil Spring:
> if(fork() == 0) { exit(1); }
exit flushes the stdio buffers in the child. Upstream concluded that
this leads to undefined behavior:
| Yes, this is about the exit actually. But reading "2.5.1
| Interaction of File Descriptors and Standard I/O Streams", I think
| this is really undefined, because the required action is not
| performed before the call to fork, and the correct fix is to use
| _exit in the forked child.
<https://sourceware.org/bugzilla/show_bug.cgi?id=20598#c2>
Reply to: