Submitted by: jailletc36
Simplify code.
Cases where 'loc' doesn't have any ':' or is starting with ':' are already
handled by 'ap_is_url()'
Calling 'apr_isascii()' seems useless.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x-merge-http-strict@
1768969 13f79535-47bb-0310-9956-
ffa450edef68
if ((loc = apr_table_get(r->headers_out, "Location")) != NULL) {
const char *scheme_end = ap_strchr_c(loc, ':');
- const char *s = loc;
/*
* Check that the URI has a valid scheme and is absolute
* XXX Should we do a full uri parse here?
*/
- if (scheme_end == NULL || scheme_end == loc)
+ if (!ap_is_url(loc))
goto bad;
- do {
- if ((!apr_isalnum(*s) && *s != '.' && *s != '+' && *s != '-')
- || !apr_isascii(*s) ) {
- goto bad;
- }
- } while (++s < scheme_end);
-
if (scheme_end[1] != '/' || scheme_end[2] != '/')
goto bad;
}