Update to ed(1) patch via Gentoo
|Reported by:||Tyler Berry||Owned by:|
The patch LFS uses to replace an insecure mktemp(3) call in ed with mkstemp(3) was adopted by Gentoo, who after some poking at it managed to get it to produce broken output files. http://bugs.gentoo.org/show_bug.cgi?id=73858
Short version: mkstemp returns an open file descriptor. ed wants a FILE *, so the LFS patch calls fopen(3) on the filename; this re-opens the file and the previous open due to the mkstemp is never closed. The attached patch, which replaces LFS's current patch, uses fdopen(3) instead to convert the open file descriptor to a FILE *.