svn commit: r293168 - head/lib/libgssapi

Doug Rabson dfr at FreeBSD.org
Mon Jan 4 17:42:13 UTC 2016


Author: dfr
Date: Mon Jan  4 17:42:12 2016
New Revision: 293168
URL: https://svnweb.freebsd.org/changeset/base/293168

Log:
  Fix a memory leak in gss_release_oid_set

Modified:
  head/lib/libgssapi/gss_release_oid_set.c

Modified: head/lib/libgssapi/gss_release_oid_set.c
==============================================================================
--- head/lib/libgssapi/gss_release_oid_set.c	Mon Jan  4 17:25:32 2016	(r293167)
+++ head/lib/libgssapi/gss_release_oid_set.c	Mon Jan  4 17:42:12 2016	(r293168)
@@ -32,15 +32,25 @@
 
 OM_uint32
 gss_release_oid_set(OM_uint32 *minor_status,
-    gss_OID_set *set)
+    gss_OID_set *setp)
 {
+	gss_OID_set set;
+	gss_OID o;
+	size_t i;
 
 	*minor_status = 0;
-	if (set && *set) {
-		if ((*set)->elements)
-			free((*set)->elements);
-		free(*set);
-		*set = GSS_C_NO_OID_SET;
+	if (setp) {
+		set = *setp;
+		if (set) {
+			for (i = 0; i < set->count; i++) {
+				o = &set->elements[i];
+				if (o->elements)
+					free(o->elements);
+			}
+			free(set->elements);
+			free(set);
+			*setp = GSS_C_NO_OID_SET;
+		}
 	}
 	return (GSS_S_COMPLETE);
 }


More information about the svn-src-all mailing list