(gss_adat): avoid leaking memory
(gss_auth): always try next kname if there is one, independant of min_stat git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15644 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -214,6 +214,7 @@ gss_adat(void *app_data, void *buf, size_t len)
|
|||||||
reply(535, "Out of memory base64-encoding.");
|
reply(535, "Out of memory base64-encoding.");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
gss_release_buffer(&min_stat, &output_token);
|
||||||
}
|
}
|
||||||
if(maj_stat == GSS_S_COMPLETE){
|
if(maj_stat == GSS_S_COMPLETE){
|
||||||
char *name;
|
char *name;
|
||||||
@@ -269,6 +270,8 @@ gss_adat(void *app_data, void *buf, size_t len)
|
|||||||
reply(431, "Security resource unavailable");
|
reply(431, "Security resource unavailable");
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
|
if (client_name)
|
||||||
|
gss_release_name(&min_stat, &client_name);
|
||||||
free(p);
|
free(p);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -400,7 +403,7 @@ gss_auth(void *app_data, char *host)
|
|||||||
|
|
||||||
gss_release_name(&min_stat, &target_name);
|
gss_release_name(&min_stat, &target_name);
|
||||||
|
|
||||||
if(min_stat == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN && *kname != NULL) {
|
if(*kname != NULL) {
|
||||||
|
|
||||||
if(import_name(*kname++, host, &target_name)) {
|
if(import_name(*kname++, host, &target_name)) {
|
||||||
if (bindings != GSS_C_NO_CHANNEL_BINDINGS)
|
if (bindings != GSS_C_NO_CHANNEL_BINDINGS)
|
||||||
|
Reference in New Issue
Block a user