1 |
--- net-tools-1.60/lib/inet6.c.inet6-lookup 2000-10-28 13:04:00.000000000 +0200 |
2 |
+++ net-tools-1.60/lib/inet6.c 2003-05-21 15:28:50.000000000 +0200 |
3 |
@@ -133,28 +133,9 @@ |
4 |
} |
5 |
|
6 |
|
7 |
-static int INET6_getsock(char *bufp, struct sockaddr *sap) |
8 |
-{ |
9 |
- struct sockaddr_in6 *sin6; |
10 |
- |
11 |
- sin6 = (struct sockaddr_in6 *) sap; |
12 |
- sin6->sin6_family = AF_INET6; |
13 |
- sin6->sin6_port = 0; |
14 |
- |
15 |
- if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0) |
16 |
- return (-1); |
17 |
- |
18 |
- return 16; /* ?;) */ |
19 |
-} |
20 |
- |
21 |
static int INET6_input(int type, char *bufp, struct sockaddr *sap) |
22 |
{ |
23 |
- switch (type) { |
24 |
- case 1: |
25 |
- return (INET6_getsock(bufp, sap)); |
26 |
- default: |
27 |
- return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap)); |
28 |
- } |
29 |
+ return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap)); |
30 |
} |
31 |
|
32 |
|
33 |
--- net-tools-1.60/lib/inet6_gr.c.inet6-lookup 2001-04-01 16:48:06.000000000 +0200 |
34 |
+++ net-tools-1.60/lib/inet6_gr.c 2003-05-21 15:28:50.000000000 +0200 |
35 |
@@ -100,7 +100,7 @@ |
36 |
addr6p[4], addr6p[5], addr6p[6], addr6p[7]); |
37 |
inet6_aftype.input(1, addr6, (struct sockaddr *) &saddr6); |
38 |
snprintf(addr6, sizeof(addr6), "%s/%d", |
39 |
- inet6_aftype.sprint((struct sockaddr *) &saddr6, 1), |
40 |
+ inet6_aftype.sprint((struct sockaddr *) &saddr6, numeric), |
41 |
prefix_len); |
42 |
|
43 |
/* Fetch and resolve the nexthop address. */ |
44 |
@@ -109,7 +109,7 @@ |
45 |
naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7]); |
46 |
inet6_aftype.input(1, naddr6, (struct sockaddr *) &snaddr6); |
47 |
snprintf(naddr6, sizeof(naddr6), "%s", |
48 |
- inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1)); |
49 |
+ inet6_aftype.sprint((struct sockaddr *) &snaddr6, numeric)); |
50 |
|
51 |
/* Decode the flags. */ |
52 |
strcpy(flags, "U"); |
53 |
--- net-tools-1.60/lib/inet6_sr.c.inet6-lookup 2000-05-22 23:18:37.000000000 +0200 |
54 |
+++ net-tools-1.60/lib/inet6_sr.c 2003-05-21 15:28:50.000000000 +0200 |
55 |
@@ -63,7 +63,7 @@ |
56 |
if (*args == NULL) |
57 |
return (usage()); |
58 |
|
59 |
- strcpy(target, *args++); |
60 |
+ safe_strncpy(target, *args++, sizeof(target)); |
61 |
if (!strcmp(target, "default")) { |
62 |
prefix_len = 0; |
63 |
memset(&sa6, 0, sizeof(sa6)); |
64 |
@@ -112,7 +112,7 @@ |
65 |
return (usage()); |
66 |
if (rt.rtmsg_flags & RTF_GATEWAY) |
67 |
return (usage()); |
68 |
- strcpy(gateway, *args); |
69 |
+ safe_strncpy(gateway, *args, sizeof(gateway)); |
70 |
if (inet6_aftype.input(1, gateway, |
71 |
(struct sockaddr *) &sa6) < 0) { |
72 |
inet6_aftype.herror(gateway); |
73 |
@@ -152,7 +152,7 @@ |
74 |
} |
75 |
if (devname) { |
76 |
memset(&ifr, 0, sizeof(ifr)); |
77 |
- strcpy(ifr.ifr_name, devname); |
78 |
+ safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name)); |
79 |
|
80 |
if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) { |
81 |
perror("SIOGIFINDEX"); |