From 99912ca733dd960f5589227fd999c86e73c8e894 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Tue, 10 Apr 2007 15:43:37 +0000 Subject: audit small applets and mark some of them as NOFORK. Put big scary warnings in relevant places. --- coreutils/logname.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'coreutils/logname.c') diff --git a/coreutils/logname.c b/coreutils/logname.c index 743e2291c..aba6ce3c6 100644 --- a/coreutils/logname.c +++ b/coreutils/logname.c @@ -20,23 +20,23 @@ * a diagnostic message and an error return. */ -#include -#include -#include #include "busybox.h" +/* This is a NOFORK applet. Be very careful! */ + int logname_main(int argc, char ATTRIBUTE_UNUSED **argv); int logname_main(int argc, char ATTRIBUTE_UNUSED **argv) { - const char *p; + char buf[128]; if (argc > 1) { bb_show_usage(); } - if ((p = getlogin()) != NULL) { - puts(p); - fflush_stdout_and_exit(EXIT_SUCCESS); + /* Using _r function - avoid pulling in static buffer from libc */ + if (getlogin_r(buf, sizeof(buf)) == 0) { + puts(buf); + return fflush(stdout); } bb_perror_msg_and_die("getlogin"); -- cgit v1.2.3