summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLove Hörnquist Åstrand <lha@kth.se>2008-11-02 07:15:56 +0000
committerLove Hörnquist Åstrand <lha@kth.se>2008-11-02 07:15:56 +0000
commit9eead5477d893c8150202ec5bd4e8aa1da3afce0 (patch)
treed8d575b51d4405294331a0313ce60c8ed9897c8f
parentca4645d2636a557e06a9d6594dbc808cc0b792f4 (diff)
handle return value of krb5_storage_{read,write}
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24012 ec53bebd-3082-4978-b11e-865c3cabbd6b
-rw-r--r--lib/krb5/kcm.c12
1 files 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);