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:
@@ -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).
|
||||
* 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);
|
||||
ret = krb5_data_alloc(&msg, len);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
krb5_clear_error_string(context->context);
|
||||
return ret;
|
||||
}
|
||||
krb5_storage_seek(sp, 0, SEEK_SET);
|
||||
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);
|
||||
if(sock == NULL) {
|
||||
krb5_clear_error_string(context->context);
|
||||
krb5_data_free(&out);
|
||||
return ENOMEM;
|
||||
}
|
||||
|
||||
ret = krb5_store_data(sock, out);
|
||||
if (ret)
|
||||
krb5_clear_error_string(context->context);
|
||||
krb5_storage_free(sock);
|
||||
krb5_data_free(&out);
|
||||
return ret;
|
||||
@@ -77,10 +82,13 @@ _kadm5_client_recv(kadm5_client_context *context, krb5_data *reply)
|
||||
krb5_storage *sock;
|
||||
|
||||
sock = krb5_storage_from_fd(context->sock);
|
||||
if(sock == NULL)
|
||||
if(sock == NULL) {
|
||||
krb5_clear_error_string(context->context);
|
||||
return ENOMEM;
|
||||
}
|
||||
ret = krb5_ret_data(sock, &data);
|
||||
krb5_storage_free(sock);
|
||||
krb5_clear_error_string(context->context);
|
||||
if(ret == KRB5_CC_END)
|
||||
return KADM5_RPC_ERROR;
|
||||
else if(ret)
|
||||
|
Reference in New Issue
Block a user