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
7 -static int INET6_getsock(char *bufp, struct sockaddr *sap)
9 - struct sockaddr_in6 *sin6;
11 - sin6 = (struct sockaddr_in6 *) sap;
12 - sin6->sin6_family = AF_INET6;
13 - sin6->sin6_port = 0;
15 - if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
18 - return 16; /* ?;) */
21 static int INET6_input(int type, char *bufp, struct sockaddr *sap)
25 - return (INET6_getsock(bufp, sap));
27 - return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
29 + return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
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
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),
43 /* Fetch and resolve the nexthop address. */
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));
51 /* Decode the flags. */
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
59 - strcpy(target, *args++);
60 + safe_strncpy(target, *args++, sizeof(target));
61 if (!strcmp(target, "default")) {
63 memset(&sa6, 0, sizeof(sa6));
66 if (rt.rtmsg_flags & RTF_GATEWAY)
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);
76 memset(&ifr, 0, sizeof(ifr));
77 - strcpy(ifr.ifr_name, devname);
78 + safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name));
80 if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) {
81 perror("SIOGIFINDEX");