summaryrefslogtreecommitdiff
path: root/main/openssl/crypto/ocsp/ocsp_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/openssl/crypto/ocsp/ocsp_lib.c')
-rw-r--r--main/openssl/crypto/ocsp/ocsp_lib.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/main/openssl/crypto/ocsp/ocsp_lib.c b/main/openssl/crypto/ocsp/ocsp_lib.c
index a94dc838..5061c057 100644
--- a/main/openssl/crypto/ocsp/ocsp_lib.c
+++ b/main/openssl/crypto/ocsp/ocsp_lib.c
@@ -222,8 +222,19 @@ int OCSP_parse_url(char *url, char **phost, char **pport, char **ppath, int *pss
if (!*ppath) goto mem_err;
+ p = host;
+ if(host[0] == '[')
+ {
+ /* ipv6 literal */
+ host++;
+ p = strchr(host, ']');
+ if(!p) goto parse_err;
+ *p = '\0';
+ p++;
+ }
+
/* Look for optional ':' for port number */
- if ((p = strchr(host, ':')))
+ if ((p = strchr(p, ':')))
{
*p = 0;
port = p + 1;