From 3c92747f2a632c2e1ca5c60a00fefb6d2e3cccad Mon Sep 17 00:00:00 2001 From: Luke Howard Date: Sun, 23 Dec 2018 15:34:27 +1100 Subject: [PATCH] gss: fix leak in add_builtin() if interning OID fails 4a93c477 (#447) introduced a leak in add_builtin(). Reported by jaltman@auristor.com. --- lib/gssapi/mech/gss_mech_switch.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/gssapi/mech/gss_mech_switch.c b/lib/gssapi/mech/gss_mech_switch.c index 16598741d..bdebb3680 100644 --- a/lib/gssapi/mech/gss_mech_switch.c +++ b/lib/gssapi/mech/gss_mech_switch.c @@ -217,8 +217,10 @@ add_builtin(gssapi_mech_interface mech) m->gm_so = NULL; m->gm_mech = *mech; _gss_intern_oid(&minor_status, &mech->gm_mech_oid, &m->gm_mech_oid); - if (minor_status) + if (minor_status) { + free(m); return minor_status; + } gss_add_oid_set_member(&minor_status, &m->gm_mech.gm_mech_oid, &_gss_mech_oids);