From 718165534d0c57ea23c536f57affe7f04a33199a Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 19 Mar 2012 17:18:49 -0700 Subject: [PATCH] gre: allow 0 as a legal key value There is nothing in the standard that says 0 can't be used as a key. It makes sense to allow it. Also fix typo where ikey was printed for when printing okey. --- ip/link_gre.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ip/link_gre.c b/ip/link_gre.c index c783203b..5002095b 100644 --- a/ip/link_gre.c +++ b/ip/link_gre.c @@ -331,16 +331,14 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) if (tb[IFLA_GRE_OFLAGS]) oflags = *(__u16 *)RTA_DATA(tb[IFLA_GRE_OFLAGS]); - if (iflags & GRE_KEY && tb[IFLA_GRE_IKEY] && - *(__u32 *)RTA_DATA(tb[IFLA_GRE_IKEY])) { + if ((iflags & GRE_KEY) && tb[IFLA_GRE_IKEY]) { inet_ntop(AF_INET, RTA_DATA(tb[IFLA_GRE_IKEY]), s2, sizeof(s2)); fprintf(f, "ikey %s ", s2); } - if (oflags & GRE_KEY && tb[IFLA_GRE_OKEY] && - *(__u32 *)RTA_DATA(tb[IFLA_GRE_OKEY])) { + if ((oflags & GRE_KEY) && tb[IFLA_GRE_OKEY]) { inet_ntop(AF_INET, RTA_DATA(tb[IFLA_GRE_OKEY]), s2, sizeof(s2)); - fprintf(f, "ikey %s ", s2); + fprintf(f, "okey %s ", s2); } if (iflags & GRE_SEQ)