diff options
author | Benjamin Robin <dev@benjarobin.fr> | 2021-02-16 23:19:37 +0100 |
---|---|---|
committer | Benjamin Robin <dev@benjarobin.fr> | 2021-02-16 23:34:58 +0100 |
commit | 9de42a6a5f3c83309c24d8688dbbc07941f14146 (patch) | |
tree | 48f4e6e6478dc62079d24755d5df1a5aa47395b3 /src/shared | |
parent | 925484aacbf2c70db7fc2e7a89c80a8d02ccf3b8 (diff) | |
download | systemd-9de42a6a5f3c83309c24d8688dbbc07941f14146.tar.gz |
shared: use -EINVAL for _EXEC_COMMAND_FLAGS_INVALID
Follow-up of #11484
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/exec-util.c | 10 | ||||
-rw-r--r-- | src/shared/exec-util.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/shared/exec-util.c b/src/shared/exec-util.c index 6355ce8ce4..e4769530a3 100644 --- a/src/shared/exec-util.c +++ b/src/shared/exec-util.c @@ -381,10 +381,9 @@ int exec_command_flags_from_strv(char **ex_opts, ExecCommandFlags *flags) { STRV_FOREACH(opt, ex_opts) { ex_flag = exec_command_flags_from_string(*opt); - if (ex_flag >= 0) - ret_flags |= ex_flag; - else - return -EINVAL; + if (ex_flag < 0) + return ex_flag; + ret_flags |= ex_flag; } *flags = ret_flags; @@ -400,6 +399,9 @@ int exec_command_flags_to_strv(ExecCommandFlags flags, char ***ex_opts) { assert(ex_opts); + if (flags < 0) + return flags; + for (i = 0; it != 0; it &= ~(1 << i), i++) { if (FLAGS_SET(flags, (1 << i))) { str = exec_command_flags_to_string(1 << i); diff --git a/src/shared/exec-util.h b/src/shared/exec-util.h index 5bd4a3785f..9ce5324de9 100644 --- a/src/shared/exec-util.h +++ b/src/shared/exec-util.h @@ -27,7 +27,7 @@ typedef enum ExecCommandFlags { EXEC_COMMAND_NO_SETUID = 1 << 2, EXEC_COMMAND_AMBIENT_MAGIC = 1 << 3, EXEC_COMMAND_NO_ENV_EXPAND = 1 << 4, - _EXEC_COMMAND_FLAGS_INVALID = -1, + _EXEC_COMMAND_FLAGS_INVALID = -EINVAL, } ExecCommandFlags; int execute_directories( |