52 lines
1.6 KiB
Text
52 lines
1.6 KiB
Text
|
--- src/libnet_resolve.c.orig Sun Jan 7 18:29:05 2001
|
||
|
+++ src/libnet_resolve.c Sat Nov 8 22:07:54 2008
|
||
|
@@ -35,10 +35,12 @@
|
||
|
#endif
|
||
|
#include "../include/libnet.h"
|
||
|
|
||
|
+#define MYBUFSIZE 512
|
||
|
+
|
||
|
u_char *
|
||
|
libnet_host_lookup(u_long in, u_short use_name)
|
||
|
{
|
||
|
- static u_char hostname[512], hostname2[512];
|
||
|
+ static u_char hostname[MYBUFSIZE], hostname2[MYBUFSIZE];
|
||
|
static u_short which;
|
||
|
u_char *p;
|
||
|
|
||
|
@@ -63,7 +65,8 @@ libnet_host_lookup(u_long in, u_short use_name)
|
||
|
{
|
||
|
|
||
|
p = (u_char *)∈
|
||
|
- sprintf(((which % 2) ? hostname : hostname2), "%d.%d.%d.%d",
|
||
|
+ snprintf(((which % 2) ? hostname : hostname2), MYBUFSIZE,
|
||
|
+ "%d.%d.%d.%d",
|
||
|
(p[0] & 255), (p[1] & 255), (p[2] & 255), (p[3] & 255));
|
||
|
}
|
||
|
else if (use_name == LIBNET_RESOLVE)
|
||
|
@@ -91,13 +94,12 @@ libnet_host_lookup_r(u_long in, u_short use_name, u_ch
|
||
|
{
|
||
|
|
||
|
p = (u_char *)∈
|
||
|
- sprintf(hostname, "%d.%d.%d.%d",
|
||
|
+ snprintf(hostname, MYBUFSIZE, "%d.%d.%d.%d",
|
||
|
(p[0] & 255), (p[1] & 255), (p[2] & 255), (p[3] & 255));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
- /* XXX - sizeof(hostname) == 4 bytes you moron. FIX THAT. - r */
|
||
|
- strncpy(hostname, host_ent->h_name, sizeof(hostname));
|
||
|
+ strncpy(hostname, host_ent->h_name, MYBUFSIZE);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@@ -175,7 +177,7 @@ libnet_get_ipaddr(struct libnet_link_int *l, const cha
|
||
|
fd = socket(PF_INET, SOCK_DGRAM, 0);
|
||
|
if (fd < 0)
|
||
|
{
|
||
|
- sprintf(ebuf, "socket: %s", strerror(errno));
|
||
|
+ snprintf(ebuf, LIBNET_ERRBUF_SIZE, "socket: %s", strerror(errno));
|
||
|
return (0);
|
||
|
}
|
||
|
|