svn commit: r291398 - head/sys/dev/sfxge/common

Andrew Rybchenko arybchik at FreeBSD.org
Fri Nov 27 16:23:28 UTC 2015


Author: arybchik
Date: Fri Nov 27 16:23:27 2015
New Revision: 291398
URL: https://svnweb.freebsd.org/changeset/base/291398

Log:
  sfxge: cleanup: report error on failure path in efx_vpd_hunk_verify
  
  If the VPD is corrupt and contains an 'RV' keyword before the
  END tag, then this function could return without setting the
  return code to report the error.
  
  Found by prefast.
  
  Submitted by:   Andy Moreton <amoreton at solarflare.com>
  Sponsored by:   Solarflare Communications, Inc.
  MFC after:      2 days

Modified:
  head/sys/dev/sfxge/common/efx_vpd.c

Modified: head/sys/dev/sfxge/common/efx_vpd.c
==============================================================================
--- head/sys/dev/sfxge/common/efx_vpd.c	Fri Nov 27 16:21:14 2015	(r291397)
+++ head/sys/dev/sfxge/common/efx_vpd.c	Fri Nov 27 16:23:27 2015	(r291398)
@@ -545,8 +545,10 @@ efx_vpd_hunk_verify(
 
 		for (pos = 0; pos != taglen; pos += 3 + keylen) {
 			/* RV keyword must be the last in the block */
-			if (cksummed)
+			if (cksummed) {
+				rc = EFAULT;
 				goto fail2;
+			}
 
 			if ((rc = efx_vpd_next_keyword(data + offset,
 			    taglen, pos, &keyword, &keylen)) != 0)


More information about the svn-src-head mailing list