From: Stephen Hemminger Date: Tue, 20 Mar 2012 00:18:49 +0000 (-0700) Subject: gre: allow 0 as a legal key value X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lisovros/iproute2_canprio.git/commitdiff_plain/718165534d0c57ea23c536f57affe7f04a33199a?hp=7dd03712226d2943e46f427217158707c148d2b3 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. --- diff --git a/ip/link_gre.c b/ip/link_gre.c index c783203..5002095 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)