about summary refs log tree commit diff
path: root/surf.c
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2015-01-20 17:38:22 +0100
committerChristoph Lohmann <20h@r-36.net>2015-01-20 17:38:22 +0100
commit344efec3fb932a9c5baae582fe70c72a0bc4a747 (patch)
treefe734d2f3c797ce9e75c095555d4fc6de0be3a5d /surf.c
parentOh my blob! (diff)
downloadsurf-344efec3fb932a9c5baae582fe70c72a0bc4a747.tar.gz
surf-344efec3fb932a9c5baae582fe70c72a0bc4a747.tar.bz2
surf-344efec3fb932a9c5baae582fe70c72a0bc4a747.zip
Only plumb some URI, when it's ASCII.
Diffstat (limited to 'surf.c')
-rw-r--r--surf.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/surf.c b/surf.c
index ce8fce8..ee4bfee 100644
--- a/surf.c
+++ b/surf.c
@@ -213,6 +213,7 @@ beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r,
 		WebKitNetworkRequest *req, WebKitNetworkResponse *resp,
 		Client *c) {
 	const gchar *uri = webkit_network_request_get_uri(req);
+	int i, isascii = 1;
 
 	if(g_str_has_suffix(uri, "/favicon.ico"))
 		webkit_network_request_set_uri(req, "about:blank");
@@ -224,7 +225,15 @@ beforerequest(WebKitWebView *w, WebKitWebFrame *f, WebKitWebResource *r,
 			&& !g_str_has_prefix(uri, "data:") \
 			&& !g_str_has_prefix(uri, "blob:") \
 			&& strlen(uri) > 0) {
-		handleplumb(c, w, uri);
+
+		for(i = 0; i < strlen(uri); i++) {
+			if(!g_ascii_isprint(uri[i])) {
+				isascii = 0;
+				break;
+			}
+		}
+		if(isascii)
+			handleplumb(c, w, uri);
 	}
 }