diff --git a/sys/net/sock/sock_util.c b/sys/net/sock/sock_util.c
index 428de248200cfbfd4def48f06edfb205d4d2fb54..e60c972fa47a922a08bcc0d5ebde8fdb102b18d5 100644
--- a/sys/net/sock/sock_util.c
+++ b/sys/net/sock/sock_util.c
@@ -137,6 +137,9 @@ int sock_urlsplit(const char *url, char *hostport, char *urlpath)
 
     size_t pathlen = strlen(pathstart);
     if (pathlen) {
+        if (pathlen > SOCK_URLPATH_MAXLEN - 1) {
+            return -EOVERFLOW;
+        }
         memcpy(urlpath, pathstart, pathlen);
     }
     *(urlpath + pathlen) = '\0';