noip.c (present_sockaddr): Handle a null address pointer.
[preload-hacks] / noip.c
diff --git a/noip.c b/noip.c
index 5cbb84e..e7f13cd 100644 (file)
--- a/noip.c
+++ b/noip.c
@@ -409,6 +409,7 @@ static char *present_sockaddr(const struct sockaddr *sa, socklen_t len,
 #define WANT(n_) do { if (sz < (n_)) goto nospace; } while (0)
 #define PUTC(c_) do { *buf++ = (c_); sz--; } while (0)
 
+  if (!sa) return "<null-address>";
   if (!sz) return "<no-space-in-buffer>";
   if (!len) len = family_socklen(sa->sa_family);
 
@@ -1054,6 +1055,7 @@ static void parse_acl_line(char **pp, aclnode ***tail)
     if (*p != ',') break;
     if (*p) p++;
   }
+  if (*p) goto bad;
   *pp = p;
   return;
 
@@ -1075,6 +1077,7 @@ static void parse_autoports(char **pp)
   if (*p != '-') goto bad; p++;
   NEXTNUMBER(q, del); y = strtoul(q, 0, 0); RESCAN(del);
   minautoport = x; maxautoport = y;
+  SKIPSPC; if (*p) goto bad;
   *pp = p;
   return;