public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch] MdeModulePkg/SnpDxe: Check the value of Nii->Id before use it directly.
@ 2017-12-21  7:12 Jiaxin Wu
  2017-12-21  7:39 ` Fu, Siyuan
  0 siblings, 1 reply; 3+ messages in thread
From: Jiaxin Wu @ 2017-12-21  7:12 UTC (permalink / raw)
  To: edk2-devel; +Cc: Wang Fan, Ye Ting, Fu Siyuan, Wu Jiaxin

Nii->Id is the address of the first byte of the identifying structure
for this network interface. This is only valid when the network interface
is started. When the network interface is not started, this field is set
to zero. So, we should check the value of Nii->Id before use it directly.

Cc: Wang Fan <fan.wang@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
---
 MdeModulePkg/Universal/Network/SnpDxe/Snp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/MdeModulePkg/Universal/Network/SnpDxe/Snp.c b/MdeModulePkg/Universal/Network/SnpDxe/Snp.c
index 9f61aee..f0257a2 100644
--- a/MdeModulePkg/Universal/Network/SnpDxe/Snp.c
+++ b/MdeModulePkg/Universal/Network/SnpDxe/Snp.c
@@ -1,9 +1,9 @@
 /** @file
   Implementation of driver entry point and driver binding protocol.
 
-Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials are licensed
 and made available under the terms and conditions of the BSD License which
 accompanies this distribution. The full text of the license may be found at
 http://opensource.org/licenses/bsd-license.php
 
@@ -333,10 +333,15 @@ SimpleNetworkDriverStart (
     return Status;
   }
 
   DEBUG ((EFI_D_INFO, "Start(): UNDI3.1 found\n"));
 
+  if (Nii->Id == 0) {
+    DEBUG ((EFI_D_NET, "\nUNDI is not started.\n"));
+    goto NiiError;
+  }
+
   Pxe = (PXE_UNDI *) (UINTN) (Nii->Id);
 
   if (Calc8BitCksum (Pxe, Pxe->hw.Len) != 0) {
     DEBUG ((EFI_D_NET, "\n!PXE checksum is not correct.\n"));
     goto NiiError;
-- 
1.9.5.msysgit.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-12-21  7:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-21  7:12 [Patch] MdeModulePkg/SnpDxe: Check the value of Nii->Id before use it directly Jiaxin Wu
2017-12-21  7:39 ` Fu, Siyuan
2017-12-21  7:59   ` Wu, Jiaxin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox