about summary refs log tree commit diff
path: root/surf.c
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2017-04-29 22:16:03 +0200
committerQuentin Rameau <quinq@fifth.space>2017-04-30 11:39:15 +0200
commitedddfbc14ac3a4413f38171e8fd7767ae56e27bf (patch)
treecdfa14736167403ec31644a14e5241e8c4bdb6fc /surf.c
parentfix mini typo (diff)
downloadsurf-edddfbc14ac3a4413f38171e8fd7767ae56e27bf.tar.gz
surf-edddfbc14ac3a4413f38171e8fd7767ae56e27bf.tar.bz2
surf-edddfbc14ac3a4413f38171e8fd7767ae56e27bf.zip
setcert: check uri before adding a certificate
Also directly check for https scheme, we won't need a certificate for
others.
Diffstat (limited to 'surf.c')
-rw-r--r--surf.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/surf.c b/surf.c
index d67d09b..785fa0d 100644
--- a/surf.c
+++ b/surf.c
@@ -792,14 +792,16 @@ setcert(Client *c, const char *uri)
 		return;
 	}
 
-	uri = strstr(uri, "://") + sizeof("://") - 1;
-	host = strndup(uri, strstr(uri, "/") - uri);
+	if ((uri = strstr(uri, "https://"))) {
+		uri += sizeof("https://") - 1;
+		host = g_strndup(uri, strchr(uri, '/') - uri);
+		webkit_web_context_allow_tls_certificate_for_host(
+		    webkit_web_view_get_context(c->view), cert, host);
+		g_free(host);
+	}
 
-	webkit_web_context_allow_tls_certificate_for_host(
-	    webkit_web_view_get_context(c->view), cert, host);
 	g_object_unref(cert);
 
-	free(host);
 }
 
 const char *