summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-05-23 16:13:10 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-05-23 16:13:10 -0700
commit9100fac8a2f9143c506cd30a96b2874f6ba9d075 (patch)
tree3c1804601e1b0fa58ed82de8dcdcbb81bdc93fca
parentf69b2e96719c5c52d821c5355757110c615f5074 (diff)
downloadtxr-9100fac8a2f9143c506cd30a96b2874f6ba9d075.tar.gz
txr-9100fac8a2f9143c506cd30a96b2874f6ba9d075.tar.bz2
txr-9100fac8a2f9143c506cd30a96b2874f6ba9d075.zip
Few more drop_privilege calls in txr_main.
* txr.c (txr_main): Drop setuid privilege as soon as we know we are just going to exit, before producing any diagnostic output, like in existing cases.
-rw-r--r--txr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/txr.c b/txr.c
index 8abe8949..dc439209 100644
--- a/txr.c
+++ b/txr.c
@@ -655,6 +655,7 @@ int txr_main(int argc, char **argv)
prog_string, opt, org, nao);
continue;
} else {
+ drop_privilege();
format(std_error,
lit("~a: option ~a requires YYDEBUG support compiled in\n"),
prog_string, arg, nao);
@@ -673,6 +674,7 @@ int txr_main(int argc, char **argv)
val opt = chr_str(arg, one);
if (!arg_list) {
+ drop_privilege();
requires_arg(opt);
return EXIT_FAILURE;
}