aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-08-12 14:54:28 +0200
committerHarald Welte <laforge@gnumonks.org>2017-08-12 22:53:59 +0200
commit5c67c116a7833036b8bcec4e047d4c590105a842 (patch)
tree5785a0807ff96ec4f556e0c76ef5303f41d8917d
parent27c7b2f94118e6a0a15ebeeb142e7c7cb7c21e55 (diff)
lib/in46_addr: Avoid ASSERT() when in46a_ntop() is called on uninitialized address
-rw-r--r--lib/in46_addr.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/in46_addr.c b/lib/in46_addr.c
index 6864c64..4b5fd64 100644
--- a/lib/in46_addr.c
+++ b/lib/in46_addr.c
@@ -62,7 +62,14 @@ int in46a_to_sas(struct sockaddr_storage *out, const struct in46_addr *in)
/*! Convenience wrapper around inet_ntop() for \ref in46_addr */
const char *in46a_ntop(const struct in46_addr *in, char *dst, socklen_t dst_size)
{
- int af = in46a_to_af(in);
+ int af;
+
+ if (!in || in->len == 0) {
+ strncpy(dst, "UNDEFINED", dst_size);
+ return dst;
+ }
+
+ af = in46a_to_af(in);
if (af < 0)
return NULL;