summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2021-12-29 15:59:26 +0100
committerAnton Luka Šijanec <anton@sijanec.eu>2021-12-29 15:59:26 +0100
commit3823285b323fdf5201f3ca41ff871edaddd33b8e (patch)
tree707f07545646f45b8fee0da7f7ee94fcfb463e07
parentdebhelper not debmake (diff)
downloadsear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.tar
sear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.tar.gz
sear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.tar.bz2
sear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.tar.lz
sear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.tar.xz
sear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.tar.zst
sear.c-3823285b323fdf5201f3ca41ff871edaddd33b8e.zip
-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;
}
}