diff options
author | Laine Stump <laine@redhat.com> | 2023-02-15 03:24:33 -0500 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-02-16 17:32:13 +0100 |
commit | fe2a54e86e248f14e9d75d7c19de75cda334a068 (patch) | |
tree | 9ab71eaaaf5026f484d4b878b6f3f9fe37436087 | |
parent | b20fe11b3615e26253e06aec9c15a600071dc6d4 (diff) | |
download | passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.tar passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.tar.gz passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.tar.bz2 passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.tar.lz passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.tar.xz passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.tar.zst passt-fe2a54e86e248f14e9d75d7c19de75cda334a068.zip |
make conf_pasta_ns() exit immediately after logging error
As with conf_ports, this allows us to make the function return void.
Signed-off-by: Laine Stump <laine@redhat.com>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r-- | conf.c | 35 |
1 files changed, 11 insertions, 24 deletions
@@ -497,21 +497,15 @@ static int conf_netns_opt(char *netns, const char *arg) * @optind: Index of first non-option argument * @argc: Number of arguments * @argv: Command line arguments - * - * Return: 0 on success, negative error code otherwise */ -static int conf_pasta_ns(int *netns_only, char *userns, char *netns, - int optind, int argc, char *argv[]) +static void conf_pasta_ns(int *netns_only, char *userns, char *netns, + int optind, int argc, char *argv[]) { - if (*netns_only && *userns) { - err("Both --userns and --netns-only given"); - return -EINVAL; - } + if (*netns_only && *userns) + die("Both --userns and --netns-only given"); - if (*netns && optind != argc) { - err("Both --netns and PID or command given"); - return -EINVAL; - } + if (*netns && optind != argc) + die("Both --netns and PID or command given"); if (optind + 1 == argc) { char *endptr; @@ -520,10 +514,8 @@ static int conf_pasta_ns(int *netns_only, char *userns, char *netns, pidval = strtol(argv[optind], &endptr, 10); if (!*endptr) { /* Looks like a pid */ - if (pidval < 0 || pidval > INT_MAX) { - err("Invalid PID %s", argv[optind]); - return -EINVAL; - } + if (pidval < 0 || pidval > INT_MAX) + die("Invalid PID %s", argv[optind]); snprintf(netns, PATH_MAX, "/proc/%ld/ns/net", pidval); if (!*userns) @@ -535,8 +527,6 @@ static int conf_pasta_ns(int *netns_only, char *userns, char *netns, /* Attaching to a netns/PID, with no userns given */ if (*netns && !*userns) *netns_only = 1; - - return 0; } /** conf_ip4_prefix() - Parse an IPv4 prefix length or netmask @@ -1560,13 +1550,10 @@ void conf(struct ctx *c, int argc, char **argv) } } while (name != -1); - if (c->mode == MODE_PASTA) { - if (conf_pasta_ns(&netns_only, userns, netns, - optind, argc, argv) < 0) - usage(argv[0]); - } else if (optind != argc) { + if (c->mode == MODE_PASTA) + conf_pasta_ns(&netns_only, userns, netns, optind, argc, argv); + else if (optind != argc) usage(argv[0]); - } isolate_user(uid, gid, !netns_only, userns, c->mode); |