Commit a938e69fa6 for openssl.org
commit a938e69fa61ea38512d9b49156e63ef68c7420c5
Author: Dr. David von Oheimb <dev@ddvo.net>
Date: Sat Apr 26 14:21:04 2025 +0200
OSSL_parse_url(): refactor scheme parsing, using new OSSL_SKIP_SCHEME()
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Simo Sorce <simo@redhat.com>
MergeDate: Thu Sep 10 13:32:57 2026
(Merged from https://github.com/openssl/openssl/pull/27507)
diff --git a/crypto/http/http_lib.c b/crypto/http/http_lib.c
index ce3a20db5b..443f050b51 100644
--- a/crypto/http/http_lib.c
+++ b/crypto/http/http_lib.c
@@ -82,11 +82,7 @@ int OSSL_parse_url(const char *url, char **pscheme, char **puser, char **phost,
/* check for optional prefix "<scheme>://" as per RFC 3986 */
scheme = scheme_end = p = url;
if (ossl_isalpha(*p)) {
- while (*p != '\0'
- && (ossl_isalpha(*p)
- || ossl_isdigit(*p)
- || strchr("+-.", *p) != NULL))
- p++;
+ OSSL_SKIP_SCHEME(p);
if (HAS_PREFIX(p, OSSL_URL_SCHEME_SUFFIX)) {
scheme_end = p;
p += sizeof(OSSL_URL_SCHEME_SUFFIX) - 1;