From 9192bb0d44501925a0fa30f51e3463b5f9cf1100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Tue, 16 Aug 2016 03:20:36 +0200 Subject: [PATCH] qrexec: don't call exit directly from qrexec-policy main Use `return` instead. This makes possible to implement unit tests on this function. And also makes static analysis a little happier. --- qrexec/qrexec-policy | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/qrexec/qrexec-policy b/qrexec/qrexec-policy index b9938bb..8785c24 100755 --- a/qrexec/qrexec-policy +++ b/qrexec/qrexec-policy @@ -244,7 +244,7 @@ def main(): text = "Domain '%s' doesn't exist (service %s called by domain %s)." % ( args.target, args.service_name, args.domain) info_dialog("error", text) - exit(1) + return 1 policy_list = read_policy_file(args.service_name) if policy_list is None: @@ -271,9 +271,9 @@ def main(): if args.just_evaluate: if policy_dict["action"] == "allow": - exit(0) + return 0 else: - exit(1) + return 1 if policy_dict["action"] == "allow": if "action.target" in policy_dict: @@ -286,6 +286,7 @@ def main(): do_execute(args.domain, args.target, user, args.service_name, process_ident, vm=vm) print >> sys.stderr, "Rpc denied:", args.domain, args.target, args.service_name - exit(1) + return 1 -main() +if __name__ == '__main__': + sys.exit(main())