summaryrefslogtreecommitdiffstats
path: root/contrib/bind/lib/inet/nsap_addr.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bind/lib/inet/nsap_addr.c')
-rw-r--r--contrib/bind/lib/inet/nsap_addr.c10
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;
OpenPOWER on IntegriCloud