From 5e75f50b704194c8b1444b7dad4d2e74fe5d51e4 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 27 Jan 2014 13:50:28 +0100 Subject: [PATCH] identification: Fix printing of empty RDNs on FreeBSD On FreeBSD (null) is printed for NULL even if the precision is 0. --- src/libstrongswan/utils/identification.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libstrongswan/utils/identification.c b/src/libstrongswan/utils/identification.c index 9c43ad570..e7eb63bc6 100644 --- a/src/libstrongswan/utils/identification.c +++ b/src/libstrongswan/utils/identification.c @@ -332,8 +332,13 @@ static void dntoa(chunk_t dn, char *buf, size_t len) buf += written; len -= written; + written = 0; chunk_printable(data, &printable, '?'); - written = snprintf(buf, len, "%.*s", (int)printable.len, printable.ptr); + if (printable.ptr) + { + written = snprintf(buf, len, "%.*s", (int)printable.len, + printable.ptr); + } chunk_free(&printable); if (written < 0 || written >= len) {