lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 18 Jul 2016 16:48:41 +0200
From:	Phil Sutter <phil@....cc>
To:	Stephen Hemminger <shemming@...cade.com>
Cc:	Daniel Borkmann <daniel@...earbox.net>,
	David Ahern <dsa@...ulusnetworks.com>,
	Nicolas Dichtel <nicolas.dichtel@...nd.com>,
	Julien Floret <julien.floret@...nd.com>,
	David Laight <David.Laight@...LAB.COM>, netdev@...r.kernel.org
Subject: [iproute PATCH v5 1/5] tc: m_action: Improve conversion to C99 style initializers

This improves my initial change in the following points:

- Flatten embedded struct's initializers.
- No need to initialize variables to zero as the key feature of C99
  initializers is to do this implicitly.
- By relocating the declaration of struct rtattr *tail, it can be
  initialized at the same time.

Fixes: a0a73b298a579 ("tc: m_action: Use C99 style initializers for struct req")
Signed-off-by: Phil Sutter <phil@....cc>
---
Changes since v2:
- Don't drop the "superfluous" comma.
- Flatten initializers.
Changes since v1:
- Created this patch.
---
 tc/m_action.c | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/tc/m_action.c b/tc/m_action.c
index ea16817aefd4f..806fdd197965d 100644
--- a/tc/m_action.c
+++ b/tc/m_action.c
@@ -395,13 +395,10 @@ static int tc_action_gd(int cmd, unsigned int flags, int *argc_p, char ***argv_p
 		struct tcamsg           t;
 		char                    buf[MAX_MSG];
 	} req = {
-		.n = {
-			.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
-			.nlmsg_flags = NLM_F_REQUEST | flags,
-			.nlmsg_type = cmd,
-		},
+		.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
+		.n.nlmsg_flags = NLM_F_REQUEST | flags,
+		.n.nlmsg_type = cmd,
 		.t.tca_family = AF_UNSPEC,
-		.buf = { 0 }
 	};
 
 	argc -= 1;
@@ -491,23 +488,18 @@ static int tc_action_modify(int cmd, unsigned int flags, int *argc_p, char ***ar
 	int argc = *argc_p;
 	char **argv = *argv_p;
 	int ret = 0;
-
-	struct rtattr *tail;
 	struct {
 		struct nlmsghdr         n;
 		struct tcamsg           t;
 		char                    buf[MAX_MSG];
 	} req = {
-		.n = {
-			.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
-			.nlmsg_flags = NLM_F_REQUEST | flags,
-			.nlmsg_type = cmd,
-		},
+		.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
+		.n.nlmsg_flags = NLM_F_REQUEST | flags,
+		.n.nlmsg_type = cmd,
 		.t.tca_family = AF_UNSPEC,
-		.buf = { 0 }
 	};
+	struct rtattr *tail = NLMSG_TAIL(&req.n);
 
-	tail = NLMSG_TAIL(&req.n);
 	argc -= 1;
 	argv += 1;
 	if (parse_action(&argc, &argv, TCA_ACT_TAB, &req.n)) {
@@ -540,7 +532,6 @@ static int tc_act_list_or_flush(int argc, char **argv, int event)
 	} req = {
 		.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct tcamsg)),
 		.t.tca_family = AF_UNSPEC,
-		.buf = { 0 }
 	};
 
 	tail = NLMSG_TAIL(&req.n);
-- 
2.8.2

Powered by blists - more mailing lists