From e4e222a2471119733ddc1a8cfc648cc2be763974 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Tue, 29 Jan 2013 13:13:04 -0500 Subject: Fix prepend_err_str in LDAP KDB module Use the oerr parameter to fetch the existing message. Stop handling oerr == 0, since no call sites were using it. Free the old error message before returning. --- src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c index e64d22d1d..4e0a9e8d7 100644 --- a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c +++ b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c @@ -307,9 +307,10 @@ prepend_err_str(krb5_context ctx, const char *str, krb5_error_code err, krb5_error_code oerr) { const char *omsg; - if (oerr == 0) oerr = err; - omsg = krb5_get_error_message (ctx, err); - krb5_set_error_message (ctx, err, "%s %s", str, omsg); + + omsg = krb5_get_error_message(ctx, oerr); + krb5_set_error_message(ctx, err, "%s %s", str, omsg); + krb5_free_error_message(ctx, omsg); } extern krb5int_access accessor; -- cgit