out:
if (ccache)
krb5_cc_close(context, ccache);
- if (auth.data)
- krb5_free_data_contents(context, &auth);
+ krb5_free_data_contents(context, &auth);
if (auth_con)
krb5_auth_con_free(context, auth_con);
krb5_free_principal(context, server);
if (ticket)
krb5_free_ticket(context, ticket);
- if (auth.data)
- krb5_free_data_contents(context, &auth);
if (auth_con)
krb5_auth_con_free(context, auth_con);
return;
void auth_003(int conn, char *str)
{
- krb5_context context;
- krb5_auth_context auth_con;
+ krb5_context context = NULL;
+ krb5_auth_context auth_con = NULL;
krb5_data auth;
- krb5_principal server, client;
+ krb5_principal server = NULL, client = NULL;
krb5_ticket *ticket;
char *p, *first, *data;
char name[ANAME_SZ], inst[INST_SZ], realm[REALM_SZ];
long code;
struct utsname uts;
+ ticket = NULL;
+
send_ok(conn);
recv_string(conn, &data, &size);
krb5_free_principal(context, server);
if (ticket)
krb5_free_ticket(context, ticket);
- if (auth.data)
- krb5_free_data_contents(context, &auth);
+ krb5_free_data_contents(context, &auth);
if (auth_con)
krb5_auth_con_free(context, auth_con);
return;
if (response)
{
/* Talking to a server that doesn't do AUTH_003 */
- if (auth.data)
- krb5_free_data_contents(context, &auth);
+ krb5_free_data_contents(context, &auth);
return response;
}
code = send_string(conn, (char *)auth.data, auth.length);
goto out;
if (response)
{
- if (auth.data)
- krb5_free_data_contents(context, &auth);
+ krb5_free_data_contents(context, &auth);
return response;
}
return MR_SUCCESS;
out:
- if (auth.data)
- krb5_free_data_contents(context, &auth);
+ krb5_free_data_contents(context, &auth);
return code;
}
static char master[INST_SZ] = "sms";
static char service[ANAME_SZ] = "rcmd";
des_cblock session;
-krb5_context context;
+krb5_context context = NULL;
static int get_mr_tgt(void);
int get_mr_krb5_update_ticket(char *host, krb5_data auth)
{
- krb5_auth_context auth_con;
+ krb5_auth_context auth_con = NULL;
krb5_ccache ccache = NULL;
int code;