blob: fe3fb1bf48e0081bd430f59903cd7dcd653680e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
From bdb5a17e3570ee5bde564f894444125be16a233c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Thu, 27 Nov 2014 15:45:31 +0200
Subject: [PATCH] filter: default path is const and thus non-writable
fix crash that would happen in blob_lowercase due to trying to
write rodata.
---
src/squark-filter.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/squark-filter.c b/src/squark-filter.c
index 827540e..5ffcedf 100644
--- a/src/squark-filter.c
+++ b/src/squark-filter.c
@@ -168,8 +168,7 @@ static int url_parse(blob_t uri, struct url_info *nfo)
else
nfo->port = 80;
}
- if (blob_is_null(nfo->path))
- nfo->path = BLOB_STR("/");
+ if (blob_is_null(nfo->path)) nfo->path = slash;
/* significant host name */
nfo->significant_host = nfo->host;
@@ -275,7 +274,7 @@ static int url_classify(struct url_info *url, struct sqdb *db)
/* and then search for path matches -- construct hashing
* string of url decoded path */
- blob_lowercase(url->path); /* filter DB stores all URLs in lowercase */
+ if (url->path.ptr != slash.ptr) blob_lowercase(url->path); /* filter DB stores all URLs in lowercase */
blob_push_urldecode(&keybuf, url->path);
keylimits = blob_pushed(BLOB_BUF(buffer), keybuf);
--
2.2.0
|