From: Cristian Rodríguez Date: Sun, 15 Jan 2023 01:33:14 +0000 (+0000) Subject: hardlink: calling putchar is off-limits on a signal handler X-Git-Tag: v2.39-rc1~123^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ab35a4fb0e2d53a36918b515e95ed8c9a79f1da1;p=thirdparty%2Futil-linux.git hardlink: calling putchar is off-limits on a signal handler Using putchar or any stdio function in signal handlers will lead to funny results as they cannot be async signal safe. One can write to stdout instead. --- diff --git a/misc-utils/hardlink.c b/misc-utils/hardlink.c index 8cab567685..7e66dfdde1 100644 --- a/misc-utils/hardlink.c +++ b/misc-utils/hardlink.c @@ -1380,7 +1380,8 @@ static void sighandler(int i) if (last_signal != SIGINT) last_signal = i; if (i == SIGINT) - putchar('\n'); + /* can't use stdio on signal handler */ + ignore_result(write(STDOUT_FILENO, "\n", sizeof("\n")-1)); } int main(int argc, char *argv[])