diff options
author | dfr <dfr@FreeBSD.org> | 2008-05-07 13:39:42 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2008-05-07 13:39:42 +0000 |
commit | 51b6601db456e699ea5d4843cbc7239ee92d9c13 (patch) | |
tree | 4dbb862199a916e3ffe75f1cb08703ec0e662ffc /crypto/heimdal/lib/kadm5/send_recv.c | |
parent | 2565fa13487d5bfc858144e431e3dfd7ffa5200e (diff) | |
download | FreeBSD-src-51b6601db456e699ea5d4843cbc7239ee92d9c13.zip FreeBSD-src-51b6601db456e699ea5d4843cbc7239ee92d9c13.tar.gz |
Vendor import of Heimdal 1.1
Diffstat (limited to 'crypto/heimdal/lib/kadm5/send_recv.c')
-rw-r--r-- | crypto/heimdal/lib/kadm5/send_recv.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/crypto/heimdal/lib/kadm5/send_recv.c b/crypto/heimdal/lib/kadm5/send_recv.c index fe44b76..b64bbfe 100644 --- a/crypto/heimdal/lib/kadm5/send_recv.c +++ b/crypto/heimdal/lib/kadm5/send_recv.c @@ -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. * @@ -33,7 +33,7 @@ #include "kadm5_locl.h" -RCSID("$Id: send_recv.c,v 1.10 2003/04/16 17:58:59 lha Exp $"); +RCSID("$Id: send_recv.c 17311 2006-04-27 11:10:07Z lha $"); kadm5_ret_t _kadm5_client_send(kadm5_client_context *context, krb5_storage *sp) @@ -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) |