krb5: Fix return of pointer to local in krb5_sendauth() (never exercised)
We don't have a caller in-tree that exercises this path.
This commit is contained in:
@ -109,6 +109,7 @@ krb5_sendauth(krb5_context context,
|
|||||||
ssize_t sret;
|
ssize_t sret;
|
||||||
krb5_boolean my_ccache = FALSE;
|
krb5_boolean my_ccache = FALSE;
|
||||||
|
|
||||||
|
memset(&this_cred, 0, sizeof(this_cred));
|
||||||
len = strlen(version) + 1;
|
len = strlen(version) + 1;
|
||||||
net_len = htonl(len);
|
net_len = htonl(len);
|
||||||
if (krb5_net_write (context, p_fd, &net_len, 4) != 4
|
if (krb5_net_write (context, p_fd, &net_len, 4) != 4
|
||||||
@ -159,7 +160,6 @@ krb5_sendauth(krb5_context context,
|
|||||||
}
|
}
|
||||||
client = this_client;
|
client = this_client;
|
||||||
}
|
}
|
||||||
memset(&this_cred, 0, sizeof(this_cred));
|
|
||||||
this_cred.client = client;
|
this_cred.client = client;
|
||||||
this_cred.server = server;
|
this_cred.server = server;
|
||||||
this_cred.times.endtime = 0;
|
this_cred.times.endtime = 0;
|
||||||
@ -185,13 +185,6 @@ krb5_sendauth(krb5_context context,
|
|||||||
creds,
|
creds,
|
||||||
&ap_req);
|
&ap_req);
|
||||||
|
|
||||||
if (out_creds)
|
|
||||||
*out_creds = creds;
|
|
||||||
else
|
|
||||||
krb5_free_creds(context, creds);
|
|
||||||
if(this_client)
|
|
||||||
krb5_free_principal(context, this_client);
|
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -251,5 +244,14 @@ krb5_sendauth(krb5_context context,
|
|||||||
if (rep_result == NULL)
|
if (rep_result == NULL)
|
||||||
krb5_free_ap_rep_enc_part (context, ignore);
|
krb5_free_ap_rep_enc_part (context, ignore);
|
||||||
}
|
}
|
||||||
return 0;
|
|
||||||
|
if (out_creds)
|
||||||
|
ret = krb5_copy_creds(context, creds, out_creds);
|
||||||
|
|
||||||
|
this_cred.server = NULL;
|
||||||
|
if (creds == &this_cred)
|
||||||
|
krb5_free_cred_contents(context, creds);
|
||||||
|
else if (creds)
|
||||||
|
krb5_free_creds(context, creds);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user