From 3096823ab4eb25d30ab1b4283898c7e9b2d99a0f Mon Sep 17 00:00:00 2001
From: Koen Zandberg <koen@bergzand.net>
Date: Wed, 18 Jul 2018 14:38:07 +0200
Subject: [PATCH] sock_util: Allow URLs without path as valid

URLs without a path were treated as invalid, while according to the URL
specification they are valid

Also fixes a missing null terminator in the returned path
---
 sys/net/sock/sock_util.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/sys/net/sock/sock_util.c b/sys/net/sock/sock_util.c
index 1476c93a61..3d5fb0b656 100644
--- a/sys/net/sock/sock_util.c
+++ b/sys/net/sock/sock_util.c
@@ -114,7 +114,7 @@ static char* _find_pathstart(const char *url)
         }
         urlpos++;
     }
-    return NULL;
+    return urlpos;
 }
 
 int sock_urlsplit(const char *url, char *hostport, char *urlpath)
@@ -125,9 +125,6 @@ int sock_urlsplit(const char *url, char *hostport, char *urlpath)
     }
 
     char *pathstart = _find_pathstart(hoststart);
-    if(!pathstart) {
-        return -EINVAL;
-    }
 
     memcpy(hostport, hoststart, pathstart - hoststart);
 
@@ -135,9 +132,7 @@ int sock_urlsplit(const char *url, char *hostport, char *urlpath)
     if (pathlen) {
         memcpy(urlpath, pathstart, pathlen);
     }
-    else {
-        *urlpath = '\0';
-    }
+    *(urlpath + pathlen) = '\0';
     return 0;
 }
 
-- 
GitLab