svn commit: r345866 - head/sys/rpc/rpcsec_gss

Rick Macklem rmacklem at FreeBSD.org
Tue Sep 3 14:06:33 UTC 2019


Author: rmacklem
Date: Thu Apr  4 01:23:06 2019
New Revision: 345866
URL: https://svnweb.freebsd.org/changeset/base/345866

Log:
  Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled.
  
  The code enabled when "DEBUG" is defined uses mem_alloc(), which is a
  malloc(.., M_RPC, M_WAITOK | M_ZERO), but then calls gss_release_buffer()
  which does a free(.., M_GSSAPI) to free the memory.
  This patch fixes the problem by replacing mem_alloc() with a
  malloc(.., M_GSSAPI, M_WAITOK | M_ZERO).
  This bug affects almost no one, since the sources are not normally built
  with "DEBUG" defined.
  
  Submitted by:	peter at ifm.liu.se
  MFC after:	2 weeks

Modified:
  head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c

Modified: head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
==============================================================================
--- head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c	Thu Apr  4 01:02:50 2019	(r345865)
+++ head/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c	Thu Apr  4 01:23:06 2019	(r345866)
@@ -764,7 +764,7 @@ gss_oid_to_str(OM_uint32 *minor_status, gss_OID oid, g
 	 * here for "{ " and "}\0".
 	 */
 	string_length += 4;
-	if ((bp = (char *) mem_alloc(string_length))) {
+	if ((bp = malloc(string_length, M_GSSAPI, M_WAITOK | M_ZERO))) {
 		strcpy(bp, "{ ");
 		number = (unsigned long) cp[0];
 		sprintf(numstr, "%ld ", number/40);




More information about the svn-src-all mailing list