diff options
Diffstat (limited to 'crypto/heimdal/lib/kadm5/chpass_c.c')
-rw-r--r-- | crypto/heimdal/lib/kadm5/chpass_c.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/crypto/heimdal/lib/kadm5/chpass_c.c b/crypto/heimdal/lib/kadm5/chpass_c.c index b06b8cd..5319ce9 100644 --- a/crypto/heimdal/lib/kadm5/chpass_c.c +++ b/crypto/heimdal/lib/kadm5/chpass_c.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997 - 2000 Kungliga Tekniska Högskolan + * Copyright (c) 1997-2000, 2005-2006 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -33,12 +33,12 @@ #include "kadm5_locl.h" -RCSID("$Id: chpass_c.c,v 1.5 2000/07/11 15:59:14 joda Exp $"); +RCSID("$Id: chpass_c.c 16661 2006-01-25 12:50:10Z lha $"); kadm5_ret_t kadm5_c_chpass_principal(void *server_handle, krb5_principal princ, - char *password) + const char *password) { kadm5_client_context *context = server_handle; kadm5_ret_t ret; @@ -52,8 +52,10 @@ kadm5_c_chpass_principal(void *server_handle, return ret; sp = krb5_storage_from_mem(buf, sizeof(buf)); - if (sp == NULL) + if (sp == NULL) { + krb5_clear_error_string(context->context); return ENOMEM; + } krb5_store_int32(sp, kadm_chpass); krb5_store_principal(sp, princ); krb5_store_string(sp, password); @@ -64,10 +66,12 @@ kadm5_c_chpass_principal(void *server_handle, return ret; sp = krb5_storage_from_data (&reply); if (sp == NULL) { + krb5_clear_error_string(context->context); krb5_data_free (&reply); return ENOMEM; } krb5_ret_int32(sp, &tmp); + krb5_clear_error_string(context->context); krb5_storage_free(sp); krb5_data_free (&reply); return tmp; @@ -92,8 +96,10 @@ kadm5_c_chpass_principal_with_key(void *server_handle, return ret; sp = krb5_storage_from_mem(buf, sizeof(buf)); - if (sp == NULL) + if (sp == NULL) { + krb5_clear_error_string(context->context); return ENOMEM; + } krb5_store_int32(sp, kadm_chpass_with_key); krb5_store_principal(sp, princ); krb5_store_int32(sp, n_key_data); @@ -106,10 +112,12 @@ kadm5_c_chpass_principal_with_key(void *server_handle, return ret; sp = krb5_storage_from_data (&reply); if (sp == NULL) { + krb5_clear_error_string(context->context); krb5_data_free (&reply); return ENOMEM; } krb5_ret_int32(sp, &tmp); + krb5_clear_error_string(context->context); krb5_storage_free(sp); krb5_data_free (&reply); return tmp; |