summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog8
-rw-r--r--src/url.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 9448bb4..fdf84d7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+sear.c (0.0.19-1) stable; urgency=low
+
+ * Fixed casting to char that overflowed when stepping over strings in
+ urlencode() that led to unicode characters being converted to %FF%FF. Now
+ it's casting to unsigned char.
+
+ -- Anton Luka Šijanec <anton@sijanec.eu> Wed, 29 Dec 2021 16:00:00 +0200
+
sear.c (0.0.18-1) stable; urgency=low
* removed dependency to dh_systemd - it's included in debhelper 4 some time
diff --git a/src/url.c b/src/url.c
index 13081a0..651f26c 100644
--- a/src/url.c
+++ b/src/url.c
@@ -6,7 +6,7 @@ int urlencode (char * o, const char * i /* o must have at least strlen(i)*3+1 by
if (isalnum(*i) || *i == '.' || *i == '_' || *i == '-' || *i == '~') {
o[written++] = *i;
} else {
- sprintf(o+written, "%%%02X", *i);
+ sprintf(o+written, "%%%02X", (unsigned char) *i);
written += 3;
}
}