d3abf8
From 87a1335a9618788f5d82de08ed0587feebe92c74 Mon Sep 17 00:00:00 2001
d3abf8
From: Robbie Harwood <rharwood@redhat.com>
d3abf8
Date: Fri, 31 Jul 2020 13:23:30 -0400
d3abf8
Subject: [PATCH] Avoid leak of special mechs in gss_mech_interposer()
d3abf8
d3abf8
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
d3abf8
(cherry picked from commit dc405df92173cceac2cafc09a70b1724bb2b97c8)
d3abf8
(cherry picked from commit 4b9e5f00d36d9b5c1f80835a989fa8865c045ff3)
d3abf8
---
d3abf8
 src/mechglue/gss_plugin.c | 4 +++-
d3abf8
 1 file changed, 3 insertions(+), 1 deletion(-)
d3abf8
d3abf8
diff --git a/src/mechglue/gss_plugin.c b/src/mechglue/gss_plugin.c
d3abf8
index d735537..8b799cf 100644
d3abf8
--- a/src/mechglue/gss_plugin.c
d3abf8
+++ b/src/mechglue/gss_plugin.c
d3abf8
@@ -76,6 +76,7 @@ gss_OID_set gss_mech_interposer(gss_OID mech_type)
d3abf8
     gss_OID_set interposed_mechs;
d3abf8
     OM_uint32 maj, min;
d3abf8
     char *envval;
d3abf8
+    gss_OID_set special_mechs;
d3abf8
 
d3abf8
     /* avoid looping in the gssproxy daemon by avoiding to interpose
d3abf8
      * any mechanism */
d3abf8
@@ -118,7 +119,8 @@ gss_OID_set gss_mech_interposer(gss_OID mech_type)
d3abf8
     }
d3abf8
 
d3abf8
     /* while there also initiaize special_mechs */
d3abf8
-    (void)gpp_special_available_mechs(interposed_mechs);
d3abf8
+    special_mechs = gpp_special_available_mechs(interposed_mechs);
d3abf8
+    (void)gss_release_oid_set(&min, &special_mechs);
d3abf8
 
d3abf8
 done:
d3abf8
     if (maj != 0) {