From 9eead5477d893c8150202ec5bd4e8aa1da3afce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sun, 2 Nov 2008 07:15:56 +0000 Subject: [PATCH] handle return value of krb5_storage_{read,write} git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24012 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/kcm.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/krb5/kcm.c b/lib/krb5/kcm.c index 3fb9b1ec6..67720e60b 100644 --- a/lib/krb5/kcm.c +++ b/lib/krb5/kcm.c @@ -703,6 +703,7 @@ kcm_get_next (krb5_context context, krb5_kcm_cursor c = KCMCURSOR(*cursor); krb5_storage *request, *response; krb5_data response_data; + ssize_t sret; again: @@ -719,13 +720,14 @@ kcm_get_next (krb5_context context, return ret; } - ret = krb5_storage_write(request, - &c->uuids[c->offset], - sizeof(c->uuids[c->offset])); + sret = krb5_storage_write(request, + &c->uuids[c->offset], + sizeof(c->uuids[c->offset])); c->offset++; - if (ret) { + if (sret != sizeof(c->uuids[c->offset])) { krb5_storage_free(request); - return ret; + krb5_clear_error_message(context); + return ENOMEM; } ret = kcm_call(context, k, request, &response, &response_data);