1101. [bug] Array bounds read error in lwres_gai_strerror.
+1086. [port] libbind: sunos: old sprintf.
+
1085. [port] libbind: solaris: sys_nerr and sys_errlist do not
exist when compiling in 64 bit mode.
*/
#ifndef lint
-static const char rcsid[] = "$Id: ns_name.c,v 1.3 2001/05/07 06:07:44 marka Exp $";
+static const char rcsid[] = "$Id: ns_name.c,v 1.3.2.1 2001/11/02 17:56:07 gson Exp $";
#endif
#include "port_before.h"
#include "port_after.h"
+#ifdef SPRINTF_CHAR
+# define SPRINTF(x) strlen(sprintf/**/x)
+#else
+# define SPRINTF(x) ((size_t)sprintf x)
+#endif
+
#define NS_TYPE_ELT 0x40 /* EDNS0 extended label type */
#define DNS_LABELTYPE_BITSTRING 0x41
return(-1);
cp++;
- dn += sprintf(dn, "\\[x");
+ dn += SPRINTF((dn, "\\[x"));
for (b = blen; b > 7; b -= 8, cp++)
- dn += sprintf(dn, "%02x", *cp & 0xff);
+ dn += SPRINTF((dn, "%02x", *cp & 0xff));
if (b > 4) {
tc = *cp++;
- dn += sprintf(dn, "%02x", tc & (0xff << (8 - b)));
+ dn += SPRINTF((dn, "%02x", tc & (0xff << (8 - b))));
} else if (b > 0) {
tc = *cp++;
- dn += sprintf(dn, "%1x", ((tc >> 4) & 0x0f) & (0x0f << (4 - b)));
+ dn += SPRINTF((dn, "%1x",
+ ((tc >> 4) & 0x0f) & (0x0f << (4 - b))));
}
- dn += sprintf(dn, "/%d]", blen);
+ dn += SPRINTF((dn, "/%d]", blen));
*cpp = cp;
return(dn - beg);