set and clear error string

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17311 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-04-27 11:10:07 +00:00
parent 5f22b44baa
commit 988af20ec2

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997-2003 Kungliga Tekniska H<>gskolan * Copyright (c) 1997-2003, 2006 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden). * (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved. * All rights reserved.
* *
@@ -47,8 +47,10 @@ _kadm5_client_send(kadm5_client_context *context, krb5_storage *sp)
len = krb5_storage_seek(sp, 0, SEEK_CUR); len = krb5_storage_seek(sp, 0, SEEK_CUR);
ret = krb5_data_alloc(&msg, len); ret = krb5_data_alloc(&msg, len);
if (ret) if (ret) {
krb5_clear_error_string(context->context);
return ret; return ret;
}
krb5_storage_seek(sp, 0, SEEK_SET); krb5_storage_seek(sp, 0, SEEK_SET);
krb5_storage_read(sp, msg.data, msg.length); krb5_storage_read(sp, msg.data, msg.length);
@@ -59,11 +61,14 @@ _kadm5_client_send(kadm5_client_context *context, krb5_storage *sp)
sock = krb5_storage_from_fd(context->sock); sock = krb5_storage_from_fd(context->sock);
if(sock == NULL) { if(sock == NULL) {
krb5_clear_error_string(context->context);
krb5_data_free(&out); krb5_data_free(&out);
return ENOMEM; return ENOMEM;
} }
ret = krb5_store_data(sock, out); ret = krb5_store_data(sock, out);
if (ret)
krb5_clear_error_string(context->context);
krb5_storage_free(sock); krb5_storage_free(sock);
krb5_data_free(&out); krb5_data_free(&out);
return ret; return ret;
@@ -77,10 +82,13 @@ _kadm5_client_recv(kadm5_client_context *context, krb5_data *reply)
krb5_storage *sock; krb5_storage *sock;
sock = krb5_storage_from_fd(context->sock); sock = krb5_storage_from_fd(context->sock);
if(sock == NULL) if(sock == NULL) {
krb5_clear_error_string(context->context);
return ENOMEM; return ENOMEM;
}
ret = krb5_ret_data(sock, &data); ret = krb5_ret_data(sock, &data);
krb5_storage_free(sock); krb5_storage_free(sock);
krb5_clear_error_string(context->context);
if(ret == KRB5_CC_END) if(ret == KRB5_CC_END)
return KADM5_RPC_ERROR; return KADM5_RPC_ERROR;
else if(ret) else if(ret)