summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-07-10 10:04:06 -0400
committerSimo Sorce <simo@redhat.com>2014-07-10 10:05:13 -0400
commit6075ce52059697c19ff34eb0abfe7c34b285ee5f (patch)
treec579a823517c3450ffee89deb42a657d39434c47
parentaea099ab5544eefb4d27d8cd963b1247c10dc559 (diff)
downloadkrb5-master.tar.gz
krb5-master.tar.xz
krb5-master.zip
Avoid memory leaks on errorHEADmaster
In some cases, on error errinfo->err may hold an alocated error message. Free it on an error condition. Signed-off-by: Simo Sorce <simo@redhat.com>
-rw-r--r--src/lib/gssapi/mechglue/g_initialize.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/gssapi/mechglue/g_initialize.c b/src/lib/gssapi/mechglue/g_initialize.c
index b0eb40a57..fb400edd7 100644
--- a/src/lib/gssapi/mechglue/g_initialize.c
+++ b/src/lib/gssapi/mechglue/g_initialize.c
@@ -727,8 +727,10 @@ build_dynamicMech(void *dl, const gss_OID mech_type)
"gssi" #_nsym, \
(void (**)())&(_mech)->_psym \
## _nsym, \
- &errinfo) || errinfo.code) \
+ &errinfo) || errinfo.code) { \
(_mech)->_psym ## _nsym = NULL; \
+ k5_clear_error(&errinfo); \
+ } \
} while (0)
/* Build an interposer mechanism function table from dl. */