audit small applets and mark some of them as NOFORK.
Put big scary warnings in relevant places.
This commit is contained in:
@@ -20,23 +20,23 @@
|
||||
* a diagnostic message and an error return.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#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");
|
||||
|
Reference in New Issue
Block a user