From 9dbc22c5aa6f7dfa09a9350402f47729413849a7 Mon Sep 17 00:00:00 2001 From: Andrew Rybchenko Date: Fri, 27 Nov 2015 16:23:27 +0000 Subject: [PATCH] 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. MFC after: 2 days --- sys/dev/sfxge/common/efx_vpd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/sfxge/common/efx_vpd.c b/sys/dev/sfxge/common/efx_vpd.c index 812070a6638..44b2fda79ce 100644 --- a/sys/dev/sfxge/common/efx_vpd.c +++ b/sys/dev/sfxge/common/efx_vpd.c @@ -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)