mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-26 10:57:38 +08:00
The input file handle opened via the --input option is leaked on multiple exit paths: 1. When fopen() for the output file fails, the already-opened input handle is not closed before returning. 2. When fread() reaches EOF while reading from the input file, the main loop returns directly, bypassing the cleanup section entirely. 3. On normal exit (e.g., SIGINT), the cleanup section closes output and fd but never closes input. Fix this by closing the input handle on the output-fopen error path and in the cleanup section, and by changing the fread EOF early return to a break so that the cleanup section runs. Signed-off-by: longlong yan <yanlonglong@kylinos.cn> Link: https://lore.kernel.org/r/20260902023914.959-1-yanlonglong@kylinos.cn Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>