lots of changes from size_t to ssize_t

(krb5_ret_stringz): check return value from realloc


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6553 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-07-26 00:49:56 +00:00
parent b49a25f1a8
commit b6869bc38c

View File

@@ -58,7 +58,7 @@ krb5_storage_is_flags(krb5_storage *sp, krb5_flags flags)
return (sp->flags & flags) == flags; return (sp->flags & flags) == flags;
} }
size_t ssize_t
_krb5_put_int(void *buffer, unsigned long value, size_t size) _krb5_put_int(void *buffer, unsigned long value, size_t size)
{ {
unsigned char *p = buffer; unsigned char *p = buffer;
@@ -70,7 +70,7 @@ _krb5_put_int(void *buffer, unsigned long value, size_t size)
return size; return size;
} }
size_t ssize_t
_krb5_get_int(void *buffer, unsigned long *value, size_t size) _krb5_get_int(void *buffer, unsigned long *value, size_t size)
{ {
unsigned char *p = buffer; unsigned char *p = buffer;
@@ -284,10 +284,11 @@ krb5_store_stringz(krb5_storage *sp,
char *s) char *s)
{ {
size_t len = strlen(s) + 1; size_t len = strlen(s) + 1;
size_t ret; ssize_t ret;
ret = sp->store(sp, s, len); ret = sp->store(sp, s, len);
if(ret != len) { if(ret != len) {
if((int)ret < 0) if(ret < 0)
return ret; return ret;
else else
return KRB5_CC_END; return KRB5_CC_END;
@@ -302,10 +303,18 @@ krb5_ret_stringz(krb5_storage *sp,
char c; char c;
char *s = NULL; char *s = NULL;
size_t len = 0; size_t len = 0;
size_t ret; ssize_t ret;
while((ret = sp->fetch(sp, &c, 1)) == 1){ while((ret = sp->fetch(sp, &c, 1)) == 1){
char *tmp;
len++; len++;
s = realloc(s, len); tmp = realloc (s, len);
if (tmp == NULL) {
free (s);
return ENOMEM;
}
s = tmp;
s[len - 1] = c; s[len - 1] = c;
if(c == 0) if(c == 0)
break; break;