1324c9471Sopenharmony_ciFrom fb79ae7bede940f0fef538472ff8a726df780f8f Mon Sep 17 00:00:00 2001
2324c9471Sopenharmony_ciFrom: bradh352 <brad@brad-house.com>
3324c9471Sopenharmony_ciDate: Mon, 22 May 2023 07:09:40 -0400
4324c9471Sopenharmony_ciSubject: [PATCH] minor CI issues fixes for imported inet_net_pton
5324c9471Sopenharmony_ci
6324c9471Sopenharmony_ci---
7324c9471Sopenharmony_ci src/lib/inet_net_pton.c | 53 ++---------------------------------------
8324c9471Sopenharmony_ci 1 file changed, 2 insertions(+), 51 deletions(-)
9324c9471Sopenharmony_ci
10324c9471Sopenharmony_cidiff --git a/src/lib/inet_net_pton.c b/src/lib/inet_net_pton.c
11324c9471Sopenharmony_ciindex d94a5f4..7130f0f 100644
12324c9471Sopenharmony_ci--- a/src/lib/inet_net_pton.c
13324c9471Sopenharmony_ci+++ b/src/lib/inet_net_pton.c
14324c9471Sopenharmony_ci@@ -214,49 +214,6 @@ getbits(const char *src, int *bitsp)
15324c9471Sopenharmony_ci   return (1);
16324c9471Sopenharmony_ci }
17324c9471Sopenharmony_ci 
18324c9471Sopenharmony_ci-static int
19324c9471Sopenharmony_ci-getv4(const char *src, unsigned char *dst, int *bitsp)
20324c9471Sopenharmony_ci-{
21324c9471Sopenharmony_ci-  static const char digits[] = "0123456789";
22324c9471Sopenharmony_ci-  unsigned char *odst = dst;
23324c9471Sopenharmony_ci-  int n;
24324c9471Sopenharmony_ci-  unsigned int val;
25324c9471Sopenharmony_ci-  char ch;
26324c9471Sopenharmony_ci-
27324c9471Sopenharmony_ci-  val = 0;
28324c9471Sopenharmony_ci-  n = 0;
29324c9471Sopenharmony_ci-  while ((ch = *src++) != '\0') {
30324c9471Sopenharmony_ci-    const char *pch;
31324c9471Sopenharmony_ci-
32324c9471Sopenharmony_ci-    pch = strchr(digits, ch);
33324c9471Sopenharmony_ci-    if (pch != NULL) {
34324c9471Sopenharmony_ci-      if (n++ != 0 && val == 0)       /* no leading zeros */
35324c9471Sopenharmony_ci-        return (0);
36324c9471Sopenharmony_ci-      val *= 10;
37324c9471Sopenharmony_ci-      val += aresx_sztoui(pch - digits);
38324c9471Sopenharmony_ci-      if (val > 255)                  /* range */
39324c9471Sopenharmony_ci-        return (0);
40324c9471Sopenharmony_ci-      continue;
41324c9471Sopenharmony_ci-    }
42324c9471Sopenharmony_ci-    if (ch == '.' || ch == '/') {
43324c9471Sopenharmony_ci-      if (dst - odst > 3)             /* too many octets? */
44324c9471Sopenharmony_ci-        return (0);
45324c9471Sopenharmony_ci-      *dst++ = (unsigned char)val;
46324c9471Sopenharmony_ci-      if (ch == '/')
47324c9471Sopenharmony_ci-        return (getbits(src, bitsp));
48324c9471Sopenharmony_ci-      val = 0;
49324c9471Sopenharmony_ci-      n = 0;
50324c9471Sopenharmony_ci-      continue;
51324c9471Sopenharmony_ci-    }
52324c9471Sopenharmony_ci-    return (0);
53324c9471Sopenharmony_ci-  }
54324c9471Sopenharmony_ci-  if (n == 0)
55324c9471Sopenharmony_ci-    return (0);
56324c9471Sopenharmony_ci-  if (dst - odst > 3)             /* too many octets? */
57324c9471Sopenharmony_ci-    return (0);
58324c9471Sopenharmony_ci-  *dst = (unsigned char)val;
59324c9471Sopenharmony_ci-  return 1;
60324c9471Sopenharmony_ci-}
61324c9471Sopenharmony_ci 
62324c9471Sopenharmony_ci static int
63324c9471Sopenharmony_ci ares_inet_pton6(const char *src, unsigned char *dst)
64324c9471Sopenharmony_ci@@ -287,7 +244,7 @@ ares_inet_pton6(const char *src, unsigned char *dst)
65324c9471Sopenharmony_ci       if (count_xdigit >= 4)
66324c9471Sopenharmony_ci         goto enoent;
67324c9471Sopenharmony_ci       val <<= 4;
68324c9471Sopenharmony_ci-      val |= (pch - xdigits);
69324c9471Sopenharmony_ci+      val |= (unsigned int)(pch - xdigits);
70324c9471Sopenharmony_ci       if (val > 0xffff)
71324c9471Sopenharmony_ci         goto enoent;
72324c9471Sopenharmony_ci       saw_xdigit = 1;
73324c9471Sopenharmony_ci@@ -317,7 +274,6 @@ ares_inet_pton6(const char *src, unsigned char *dst)
74324c9471Sopenharmony_ci         ares_inet_net_pton_ipv4(curtok, tp, NS_INADDRSZ) > 0) {
75324c9471Sopenharmony_ci       tp += NS_INADDRSZ;
76324c9471Sopenharmony_ci       saw_xdigit = 0;
77324c9471Sopenharmony_ci-      count_xdigit = 0;
78324c9471Sopenharmony_ci       break;  /* '\0' was seen by inet_pton4(). */
79324c9471Sopenharmony_ci     }
80324c9471Sopenharmony_ci     goto enoent;
81324c9471Sopenharmony_ci@@ -333,7 +289,7 @@ ares_inet_pton6(const char *src, unsigned char *dst)
82324c9471Sopenharmony_ci      * Since some memmove()'s erroneously fail to handle
83324c9471Sopenharmony_ci      * overlapping regions, we'll do the shift by hand.
84324c9471Sopenharmony_ci      */
85324c9471Sopenharmony_ci-    const int n = tp - colonp;
86324c9471Sopenharmony_ci+    const int n = (int)(tp - colonp);
87324c9471Sopenharmony_ci     int i;
88324c9471Sopenharmony_ci 
89324c9471Sopenharmony_ci     if (tp == endp)
90324c9471Sopenharmony_ci@@ -353,10 +309,6 @@ ares_inet_pton6(const char *src, unsigned char *dst)
91324c9471Sopenharmony_ci enoent:
92324c9471Sopenharmony_ci   SET_ERRNO(ENOENT);
93324c9471Sopenharmony_ci   return (-1);
94324c9471Sopenharmony_ci-
95324c9471Sopenharmony_ci-emsgsize:
96324c9471Sopenharmony_ci-  SET_ERRNO(EMSGSIZE);
97324c9471Sopenharmony_ci-  return (-1);
98324c9471Sopenharmony_ci }
99324c9471Sopenharmony_ci 
100324c9471Sopenharmony_ci static int
101324c9471Sopenharmony_ci@@ -368,7 +320,6 @@ ares_inet_net_pton_ipv6(const char *src, unsigned char *dst, size_t size)
102324c9471Sopenharmony_ci   size_t               bytes;
103324c9471Sopenharmony_ci   char                 buf[INET6_ADDRSTRLEN + sizeof("/128")];
104324c9471Sopenharmony_ci   char                *sep;
105324c9471Sopenharmony_ci-  const char          *errstr;
106324c9471Sopenharmony_ci 
107324c9471Sopenharmony_ci   if (strlen(src) >= sizeof buf) {
108324c9471Sopenharmony_ci     SET_ERRNO(EMSGSIZE);
109324c9471Sopenharmony_ci-- 
110324c9471Sopenharmony_ci2.27.0
111324c9471Sopenharmony_ci
112