From owner-svn-src-stable-10@freebsd.org Thu Jan 14 14:13:14 2016 Return-Path: Delivered-To: svn-src-stable-10@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2B10A822A3; Thu, 14 Jan 2016 14:13:14 +0000 (UTC) (envelope-from arybchik@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7BB5314AD; Thu, 14 Jan 2016 14:13:14 +0000 (UTC) (envelope-from arybchik@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0EEDD2J019278; Thu, 14 Jan 2016 14:13:13 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0EEDDTh019277; Thu, 14 Jan 2016 14:13:13 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201601141413.u0EEDDTh019277@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Thu, 14 Jan 2016 14:13:13 +0000 (UTC) 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 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jan 2016 14:13:14 -0000 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 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)