Fix use of snprintf() in identification DN to ASCII conversion

This commit is contained in:
Martin Willi
2010-07-28 10:54:47 +02:00
parent c8bd06c7cf
commit 018543f3a8
+12
View File
@@ -296,18 +296,30 @@ static void dntoa(chunk_t dn, char *buf, size_t len)
{
written = snprintf(buf, len,"%s=", oid_names[oid].name);
}
if (written < 0 || written >= len)
{
break;
}
buf += written;
len -= written;
chunk_printable(data, &printable, '?');
written = snprintf(buf, len, "%.*s", printable.len, printable.ptr);
chunk_free(&printable);
if (written < 0 || written >= len)
{
break;
}
buf += written;
len -= written;
if (data.ptr + data.len != dn.ptr + dn.len)
{
written = snprintf(buf, len, ", ");
if (written < 0 || written >= len)
{
break;
}
buf += written;
len -= written;
}