diff options
author | asmodai <asmodai@FreeBSD.org> | 2001-07-30 16:51:36 +0000 |
---|---|---|
committer | asmodai <asmodai@FreeBSD.org> | 2001-07-30 16:51:36 +0000 |
commit | 4764c8658fdd2787fdd421279037fe93eb05ac7c (patch) | |
tree | 575f66c4e2766172b1fb832ef43000016e089b3c /contrib/bind/lib/inet | |
parent | c56e32d41edb68ef6a2360025bff9df4a544e5fa (diff) | |
download | FreeBSD-src-4764c8658fdd2787fdd421279037fe93eb05ac7c.zip FreeBSD-src-4764c8658fdd2787fdd421279037fe93eb05ac7c.tar.gz |
Virgin import of BIND v8.2.4-REL
Diffstat (limited to 'contrib/bind/lib/inet')
-rw-r--r-- | contrib/bind/lib/inet/nsap_addr.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/contrib/bind/lib/inet/nsap_addr.c b/contrib/bind/lib/inet/nsap_addr.c index b28acec..da388dc 100644 --- a/contrib/bind/lib/inet/nsap_addr.c +++ b/contrib/bind/lib/inet/nsap_addr.c @@ -16,7 +16,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static const char rcsid[] = "$Id: nsap_addr.c,v 8.10 1999/10/13 16:39:28 vixie Exp $"; +static const char rcsid[] = "$Id: nsap_addr.c,v 8.11 2001/03/26 07:04:30 marka Exp $"; #endif /* LIBC_SCCS and not lint */ #include "port_before.h" @@ -44,6 +44,9 @@ inet_nsap_addr(const char *ascii, u_char *binary, int maxlen) { u_char c, nib; u_int len = 0; + if (ascii[0] != '0' || (ascii[1] != 'x' && ascii[1] != 'X')) + return (0); + while ((c = *ascii++) != '\0' && len < (u_int)maxlen) { if (c == '.' || c == '+' || c == '/') continue; @@ -75,7 +78,7 @@ char * inet_nsap_ntoa(int binlen, const u_char *binary, char *ascii) { int nib; int i; - static char tmpbuf[255*3]; + static char tmpbuf[2+255*3]; char *start; if (ascii) @@ -85,6 +88,9 @@ inet_nsap_ntoa(int binlen, const u_char *binary, char *ascii) { start = tmpbuf; } + *ascii = '0'; + *ascii = 'x'; + if (binlen > 255) binlen = 255; |