From 6338d039cbd0b138642e3b123ac58dc802d1d907 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Fri, 11 Jan 2013 10:13:25 -0500 Subject: Fix no_host_referral concatention in KDC If no_host_referral is set in both [kdcdefaults] and the realm subsection, we're supposed to concatenate their values. But the logic in handle_referral_params would overwrite the value with the non-concatenated realm value. Similar bugs of this nature were fixed in 639c9d0f5a7c68dc98a2a452abc05ca32443cddf (r22037) but this one was missed. ticket: 7539 (new) target_version: 1.11.1 tags: pullup --- src/kdc/main.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/kdc') diff --git a/src/kdc/main.c b/src/kdc/main.c index 02d7c3372c..51792fbccf 100644 --- a/src/kdc/main.c +++ b/src/kdc/main.c @@ -189,12 +189,13 @@ handle_referral_params(krb5_realm_params *rparams, rdp->realm_no_host_referral = strdup(KRB5_CONF_ASTERISK); if (!rdp->realm_no_host_referral) retval = ENOMEM; - } else if (no_refrls && (asprintf(&(rdp->realm_no_host_referral), - "%s%s%s%s%s", " ", no_refrls," ", - rparams->realm_no_host_referral, " ") < 0)) - retval = ENOMEM; - else if (asprintf(&(rdp->realm_no_host_referral),"%s%s%s", " ", - rparams->realm_no_host_referral, " ") < 0) + } else if (no_refrls) { + if (asprintf(&(rdp->realm_no_host_referral), + "%s%s%s%s%s", " ", no_refrls," ", + rparams->realm_no_host_referral, " ") < 0) + retval = ENOMEM; + } else if (asprintf(&(rdp->realm_no_host_referral),"%s%s%s", " ", + rparams->realm_no_host_referral, " ") < 0) retval = ENOMEM; } else if( no_refrls != NULL) { if ( asprintf(&(rdp->realm_no_host_referral), -- cgit