From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.2857.1585734808109499177 for ; Wed, 01 Apr 2020 02:53:28 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: linux.intel.com, ip: 134.134.136.20, mailfrom: maciej.rabeda@linux.intel.com) IronPort-SDR: 4ZioXFWINYtV0AUnf8LUA9kS0MMHkNbOWO+S3mvLydPMK1PIngRl0TrhxYuYuTh9t7usvvXgku l1y+QA0HG60w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2020 02:53:27 -0700 IronPort-SDR: DGQ7YWUllp3dNtvqV6fi1i3bQEf++aqMbW6ShOwKqki06k6Ydv4e0qI6HtQiaIoxSkgyZqNqk9 hzoZYR2HUHsw== X-IronPort-AV: E=Sophos;i="5.72,331,1580803200"; d="scan'208";a="422656567" Received: from mrabeda-mobl.ger.corp.intel.com ([10.213.11.210]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2020 02:53:25 -0700 From: "Maciej Rabeda" To: devel@edk2.groups.io Cc: Jiaxin Wu , Siyuan Fu , Laszlo Ersek Subject: [PATCH] NetworkPkg/Ip6Dxe: Fix ASSERT logic in Ip6ProcessRouterAdvertise() Date: Wed, 1 Apr 2020 11:53:21 +0200 Message-Id: <20200401095321.1966-1-maciej.rabeda@linux.intel.com> X-Mailer: git-send-email 2.24.0.windows.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This patch fixes reversed logic of recently added ASSERTs which should ensure that Ip6IsNDOptionValid() implementation properly reacts to invalid packets. Cc: Jiaxin Wu Cc: Siyuan Fu Signed-off-by: Maciej Rabeda Tested-by: Laszlo Ersek --- NetworkPkg/Ip6Dxe/Ip6Nd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/NetworkPkg/Ip6Dxe/Ip6Nd.c b/NetworkPkg/Ip6Dxe/Ip6Nd.c index fd7f60b2f92c..0780a98cb325 100644 --- a/NetworkPkg/Ip6Dxe/Ip6Nd.c +++ b/NetworkPkg/Ip6Dxe/Ip6Nd.c @@ -2111,7 +2111,7 @@ Ip6ProcessRouterAdvertise ( // Option size validity ensured by Ip6IsNDOptionValid().=0D //=0D ASSERT (LinkLayerOption.Length !=3D 0);=0D - ASSERT (Offset + (UINT32) LinkLayerOption.Length * 8 >=3D (UINT32) H= ead->PayloadLength);=0D + ASSERT (Offset + (UINT32) LinkLayerOption.Length * 8 <=3D (UINT32) H= ead->PayloadLength);=0D =0D ZeroMem (&LinkLayerAddress, sizeof (EFI_MAC_ADDRESS));=0D CopyMem (&LinkLayerAddress, LinkLayerOption.EtherAddr, 6);=0D @@ -2164,7 +2164,7 @@ Ip6ProcessRouterAdvertise ( // Option size validity ensured by Ip6IsNDOptionValid().=0D //=0D ASSERT (PrefixOption.Length =3D=3D 4);=0D - ASSERT (Offset + (UINT32) PrefixOption.Length * 8 >=3D (UINT32) Head= ->PayloadLength);=0D + ASSERT (Offset + (UINT32) PrefixOption.Length * 8 <=3D (UINT32) Head= ->PayloadLength);=0D =0D PrefixOption.ValidLifetime =3D NTOHL (PrefixOption.ValidLifetime= );=0D PrefixOption.PreferredLifetime =3D NTOHL (PrefixOption.PreferredLife= time);=0D @@ -2334,7 +2334,7 @@ Ip6ProcessRouterAdvertise ( // Option size validity ensured by Ip6IsNDOptionValid().=0D //=0D ASSERT (MTUOption.Length =3D=3D 1);=0D - ASSERT (Offset + (UINT32) MTUOption.Length * 8 >=3D (UINT32) Head->P= ayloadLength);=0D + ASSERT (Offset + (UINT32) MTUOption.Length * 8 <=3D (UINT32) Head->P= ayloadLength);=0D =0D //=0D // Use IPv6 minimum link MTU 1280 bytes as the maximum packet size i= n order=0D --=20 2.24.0.windows.2