summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2013-01-29 13:13:04 -0500
committerGreg Hudson <ghudson@mit.edu>2013-01-29 13:13:04 -0500
commite4e222a2471119733ddc1a8cfc648cc2be763974 (patch)
tree1e9b9cecfdcec7db0559fe42d8467993da2d3189
parent8cbbd80f11d85fb733fb1522cd19eb686b6d3fe8 (diff)
downloadkrb5-e4e222a2471119733ddc1a8cfc648cc2be763974.tar.gz
krb5-e4e222a2471119733ddc1a8cfc648cc2be763974.tar.xz
krb5-e4e222a2471119733ddc1a8cfc648cc2be763974.zip
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.
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c b/src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c
index e64d22d1dd..4e0a9e8d78 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;