]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
simplified function
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 13 Nov 2013 15:40:43 +0000 (16:40 +0100)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 13 Nov 2013 15:43:19 +0000 (16:43 +0100)
src/serv.c

index 61abf4e411d2bb4b30ba7ea26109109472953bb3..e45fdc67a141beb65e6966e69cbe1e21481a8372 100644 (file)
@@ -627,7 +627,7 @@ const char *human_addr(const struct sockaddr *sa, socklen_t salen,
        if (!buf || !buflen)
                return NULL;
 
-       *buf = '\0';
+       *buf = 0;
 
        switch (sa->sa_family) {
 #if HAVE_IPV6
@@ -641,27 +641,30 @@ const char *human_addr(const struct sockaddr *sa, socklen_t salen,
                break;
        }
 
-       l = strlen(buf);
+       l = 5;
        buf += l;
        buflen -= l;
 
        if (getnameinfo(sa, salen, buf, buflen, NULL, 0, NI_NUMERICHOST) !=
-           0)
-               return NULL;
+           0) {        
+                  return NULL;
+        }
 
        l = strlen(buf);
        buf += l;
        buflen -= l;
 
-       strncat(buf, " port ", buflen);
+       if (buflen < 8)
+               return save_buf;
 
-       l = strlen(buf);
-       buf += l;
-       buflen -= l;
+       strcat(buf, " port ");
+       buf += 6;
+       buflen -= 6;
 
        if (getnameinfo(sa, salen, NULL, 0, buf, buflen, NI_NUMERICSERV) !=
-           0)
-               return NULL;
+           0) {
+               snprintf(buf, buflen, "%s", " unknown");
+        }
 
        return save_buf;
 }