mesg: make in NOFORK
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
//config: If you set this option to N, "mesg y" will enable writing
|
||||
//config: by anybody at all. This is not recommended.
|
||||
|
||||
//applet:IF_MESG(APPLET(mesg, BB_DIR_USR_BIN, BB_SUID_DROP))
|
||||
//applet:IF_MESG(APPLET_NOFORK(mesg, mesg, BB_DIR_USR_BIN, BB_SUID_DROP, mesg))
|
||||
|
||||
//kbuild:lib-$(CONFIG_MESG) += mesg.o
|
||||
|
||||
@@ -60,10 +60,15 @@ int mesg_main(int argc UNUSED_PARAM, char **argv)
|
||||
bb_show_usage();
|
||||
}
|
||||
|
||||
/* We are a NOFORK applet.
|
||||
* (Not that it's very useful, but code is trivially NOFORK-safe).
|
||||
* Play nice. Do not leak anything.
|
||||
*/
|
||||
|
||||
if (!isatty(STDIN_FILENO))
|
||||
bb_error_msg_and_die("not a tty");
|
||||
|
||||
xfstat(STDIN_FILENO, &sb, "stderr");
|
||||
xfstat(STDIN_FILENO, &sb, "stdin");
|
||||
if (c == 0) {
|
||||
puts((sb.st_mode & (S_IWGRP|S_IWOTH)) ? "is y" : "is n");
|
||||
return EXIT_SUCCESS;
|
||||
|
Reference in New Issue
Block a user