Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jan 2016 14:13:13 +0000 (UTC)
From:      Andrew Rybchenko <arybchik@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r293924 - stable/10/sys/dev/sfxge/common
Message-ID:  <201601141413.u0EEDDTh019277@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: arybchik
Date: Thu Jan 14 14:13:13 2016
New Revision: 293924
URL: https://svnweb.freebsd.org/changeset/base/293924

Log:
  MFC r291398
  
  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.

Modified:
  stable/10/sys/dev/sfxge/common/efx_vpd.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/sfxge/common/efx_vpd.c
==============================================================================
--- stable/10/sys/dev/sfxge/common/efx_vpd.c	Thu Jan 14 14:11:56 2016	(r293923)
+++ stable/10/sys/dev/sfxge/common/efx_vpd.c	Thu Jan 14 14:13:13 2016	(r293924)
@@ -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)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601141413.u0EEDDTh019277>