[klibc] [PATCH] Fix the inet_pton implementation

Donny Xia xiadong.main at gmail.com
Mon Feb 26 17:24:38 PST 2024


The function inet_pton should read from src but it actually reads
from dst.

Signed-off-by: Donny Xia <xiadong.main at gmail.com>
---
 usr/klibc/inet/inet_pton.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/usr/klibc/inet/inet_pton.c b/usr/klibc/inet/inet_pton.c
index 19fe16e0..2df6b677 100644
--- a/usr/klibc/inet/inet_pton.c
+++ b/usr/klibc/inet/inet_pton.c
@@ -38,7 +38,7 @@ int inet_pton(int af, const char *src, void *dst)
 
 			/* A double colon will increment colons by 2,
 			   dcolons by 1 */
-			for (p = dst; *p; p++) {
+			for (p = src; *p; p++) {
 				if (p[0] == ':') {
 					colons++;
 					if (p[1] == ':')
@@ -54,7 +54,7 @@ int inet_pton(int af, const char *src, void *dst)
 			memset(d, 0, sizeof(struct in6_addr));
 
 			i = 0;
-			for (p = dst; *p; p++) {
+			for (p = src; *p; p++) {
 				if (*p == ':') {
 					if (p[1] == ':') {
 						i += (8 - colons);
-- 
2.44.0.rc1.240.g4c46232300-goog



More information about the klibc mailing list