Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 May 2017 18:01:05 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r318245 - stable/11/sys/opencrypto
Message-ID:  <201705121801.v4CI15pr053131@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Fri May 12 18:01:05 2017
New Revision: 318245
URL: https://svnweb.freebsd.org/changeset/base/318245

Log:
  MFC 316510: Don't leak a session and lock if a GMAC key has an invalid length.

Modified:
  stable/11/sys/opencrypto/cryptosoft.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/opencrypto/cryptosoft.c
==============================================================================
--- stable/11/sys/opencrypto/cryptosoft.c	Fri May 12 17:40:34 2017	(r318244)
+++ stable/11/sys/opencrypto/cryptosoft.c	Fri May 12 18:01:05 2017	(r318245)
@@ -930,8 +930,11 @@ swcr_newsession(device_t dev, u_int32_t 
 			axf = &auth_hash_nist_gmac_aes_256;
 		auth4common:
 			len = cri->cri_klen / 8;
-			if (len != 16 && len != 24 && len != 32)
+			if (len != 16 && len != 24 && len != 32) {
+				swcr_freesession_locked(dev, i);
+				rw_runlock(&swcr_sessions_lock);
 				return EINVAL;
+			}
 
 			(*swd)->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA,
 			    M_NOWAIT);



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