(krb5_print_address): handle snprintf returning < 0
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@10650 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -688,14 +688,19 @@ krb5_print_address (const krb5_address *addr,
|
|||||||
|
|
||||||
if (a == NULL) {
|
if (a == NULL) {
|
||||||
char *s;
|
char *s;
|
||||||
size_t l;
|
int l;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
s = str;
|
s = str;
|
||||||
l = snprintf(s, len, "TYPE_%d:", addr->addr_type);
|
l = snprintf(s, len, "TYPE_%d:", addr->addr_type);
|
||||||
|
if (l < 0)
|
||||||
|
return EINVAL;
|
||||||
s += l;
|
s += l;
|
||||||
len -= l;
|
len -= l;
|
||||||
for(i = 0; i < addr->address.length; i++) {
|
for(i = 0; i < addr->address.length; i++) {
|
||||||
l = snprintf(s, len, "%02x", ((char*)addr->address.data)[i]);
|
l = snprintf(s, len, "%02x", ((char*)addr->address.data)[i]);
|
||||||
|
if (l < 0)
|
||||||
|
return EINVAL;
|
||||||
len -= l;
|
len -= l;
|
||||||
s += l;
|
s += l;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user