0007-Don-t-omit-second-operand-to-operator.patch (5218B)
- From ee4b85a5edf36b320e521707810cc69f1efad5d2 Mon Sep 17 00:00:00 2001
- From: Michael Forney <mforney@mforney.org>
- Date: Sun, 16 Jun 2019 12:39:40 -0700
- Subject: [PATCH] Don't omit second operand to '?' operator
- ---
- ip/iproute_lwtunnel.c | 4 ++--
- ip/iptunnel.c | 7 ++++++-
- lib/bpf_legacy.c | 2 +-
- lib/utils.c | 7 +++++--
- misc/ss.c | 26 ++++++++++++++++++--------
- 5 files changed, 32 insertions(+), 14 deletions(-)
- diff --git a/ip/iproute_lwtunnel.c b/ip/iproute_lwtunnel.c
- index 94985972..7f3982aa 100644
- --- a/ip/iproute_lwtunnel.c
- +++ b/ip/iproute_lwtunnel.c
- @@ -394,7 +394,7 @@ static const char *format_action_type(int action)
- if (action < 0 || action > SEG6_LOCAL_ACTION_MAX)
- return "<invalid>";
- - return seg6_action_names[action] ?: "<unknown>";
- + return seg6_action_names[action] ? seg6_action_names[action] : "<unknown>";
- }
- static int read_action_type(const char *name)
- @@ -425,7 +425,7 @@ static void print_encap_bpf_prog(FILE *fp, struct rtattr *encap,
- if (is_json_context())
- print_string(PRINT_JSON, str, NULL,
- - progname ? : "<unknown>");
- + progname ? progname : "<unknown>");
- else {
- fprintf(fp, "%s ", str);
- if (progname)
- diff --git a/ip/iptunnel.c b/ip/iptunnel.c
- index 46c5f894..f84e25ed 100644
- --- a/ip/iptunnel.c
- +++ b/ip/iptunnel.c
- @@ -284,11 +284,16 @@ static int do_add(int cmd, int argc, char **argv)
- static int do_del(int argc, char **argv)
- {
- struct ip_tunnel_parm p;
- + const char *name;
- if (parse_args(argc, argv, SIOCDELTUNNEL, &p) < 0)
- return -1;
- - return tnl_del_ioctl(tnl_defname(&p) ? : p.name, p.name, &p);
- + name = tnl_defname(&p);
- + if (!name)
- + name = p.name;
- +
- + return tnl_del_ioctl(name, p.name, &p);
- }
- static void print_tunnel(const void *t)
- diff --git a/lib/bpf_legacy.c b/lib/bpf_legacy.c
- index 253e8240..a0afe0bc 100644
- --- a/lib/bpf_legacy.c
- +++ b/lib/bpf_legacy.c
- @@ -771,7 +771,7 @@ static const char *bpf_get_work_dir(enum bpf_prog_type type)
- mnt = bpf_find_mntpt("bpf", BPF_FS_MAGIC, bpf_tmp,
- sizeof(bpf_tmp), bpf_known_mnts);
- if (!mnt) {
- - mnt = mnt_env ? : BPF_DIR_MNT;
- + mnt = mnt_env ? mnt_env : BPF_DIR_MNT;
- ret = bpf_mnt_check_target(mnt);
- if (!ret)
- ret = bpf_mnt_fs(mnt);
- diff --git a/lib/utils.c b/lib/utils.c
- index 040b935c..cfe0e2e9 100644
- --- a/lib/utils.c
- +++ b/lib/utils.c
- @@ -953,8 +953,10 @@ int __get_hz(void)
- int hz = 0;
- FILE *fp;
- - if (getenv("HZ"))
- - return atoi(getenv("HZ")) ? : HZ;
- + if (getenv("HZ")) {
- + hz = atoi(getenv("HZ"));
- + goto out;
- + }
- if (getenv("PROC_NET_PSCHED"))
- snprintf(name, sizeof(name)-1,
- @@ -975,6 +977,7 @@ int __get_hz(void)
- hz = denom;
- fclose(fp);
- }
- +out:
- if (hz)
- return hz;
- return HZ;
- diff --git a/misc/ss.c b/misc/ss.c
- index e5d97d95..3ed6ac18 100644
- --- a/misc/ss.c
- +++ b/misc/ss.c
- @@ -464,7 +464,9 @@ static FILE *generic_proc_open(const char *env, const char *name)
- char store[128];
- if (!p) {
- - p = getenv("PROC_ROOT") ? : "/proc";
- + p = getenv("PROC_ROOT");
- + if (!p)
- + p = "/proc";
- snprintf(store, sizeof(store)-1, "%s/%s", p, name);
- p = store;
- }
- @@ -634,12 +636,16 @@ static void user_ent_destroy(void)
- static void user_ent_hash_build(void)
- {
- - const char *root = getenv("PROC_ROOT") ? : "/proc/";
- + const char *root;
- char name[MAX_PATH_LEN];
- struct dirent *d;
- int nameoff;
- DIR *dir;
- + root = getenv("PROC_ROOT");
- + if (!root)
- + root = "/proc/";
- +
- strlcpy(name, root, sizeof(name));
- if (strlen(name) == 0 || name[strlen(name) - 1] != '/')
- @@ -2301,7 +2307,10 @@ void *parse_hostcond(char *addr, bool is_port)
- } else if (addr[0] == '*') {
- port = addr+1;
- } else {
- - port = strrchr(strchr(addr, '/') ? : addr, ':');
- + port = strchr(addr, '/');
- + if (!port)
- + port = addr;
- + port = strrchr(port, ':');
- }
- if (is_port)
- @@ -4089,9 +4098,9 @@ static void unix_stats_print(struct sockstat *s, struct filter *f)
- sock_state_print(s);
- - sock_addr_print(s->name ?: "*", " ",
- + sock_addr_print(s->name ? s->name : "*", " ",
- uint_to_str(s->lport, port_name), NULL);
- - sock_addr_print(s->peer_name ?: "*", " ",
- + sock_addr_print(s->peer_name ? s->peer_name : "*", " ",
- uint_to_str(s->rport, port_name), NULL);
- proc_ctx_print(s);
- @@ -4294,7 +4303,7 @@ static int unix_show(struct filter *f)
- if (!p)
- u->peer_name = "?";
- else
- - u->peer_name = p->name ? : "*";
- + u->peer_name = p->name ? p->name : "*";
- }
- if (f->f) {
- @@ -4798,9 +4807,10 @@ static int netlink_show_one(struct filter *f,
- strncpy(procname, "kernel", 7);
- } else if (pid > 0) {
- FILE *fp;
- + const char *root = getenv("PROC_ROOT");
- snprintf(procname, sizeof(procname), "%s/%d/stat",
- - getenv("PROC_ROOT") ? : "/proc", pid);
- + root ? root : "/proc", pid);
- if ((fp = fopen(procname, "r")) != NULL) {
- if (fscanf(fp, "%*d (%[^)])", procname) == 1) {
- snprintf(procname+strlen(procname),
- @@ -4843,7 +4853,7 @@ static int netlink_show_one(struct filter *f,
- else if (pid > 0)
- getpidcon(pid, &pid_context);
- - out(" proc_ctx=%s", pid_context ? : "unavailable");
- + out(" proc_ctx=%s", pid_context ? pid_context : "unavailable");
- freecon(pid_context);
- }
- --
- 2.44.0