summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Eckelmann <sven@narfation.org>2022-05-06 22:26:35 +0200
committerSven Eckelmann <sven@narfation.org>2022-05-06 22:58:20 +0200
commit272b8f8afc1613665d2fc73af69ee4c29841629c (patch)
treefee6f3f91e2992a650f55e97aed6de4189d8cdf5
parentbc04956c5978d82fdf1780e5af25d5921e54ba08 (diff)
alfred: Merge bugfixes from 2022.1
* Ensure processed change_iface packet is 0-terminated Signed-off-by: Sven Eckelmann <sven@narfation.org>
-rw-r--r--alfred/patches/0001-alfred-Ensure-processed-change_iface-packet-is-0-ter.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/alfred/patches/0001-alfred-Ensure-processed-change_iface-packet-is-0-ter.patch b/alfred/patches/0001-alfred-Ensure-processed-change_iface-packet-is-0-ter.patch
new file mode 100644
index 0000000..ed1ab76
--- /dev/null
+++ b/alfred/patches/0001-alfred-Ensure-processed-change_iface-packet-is-0-ter.patch
@@ -0,0 +1,22 @@
+From: Sven Eckelmann <sven@narfation.org>
+Date: Sat, 19 Feb 2022 08:51:28 +0100
+Subject: alfred: Ensure processed change_iface packet is 0-terminated
+
+A client sending a alfred_change_interface_v0 packet to the alfred server
+might have forgotten to 0-terminate the string. In this case, strstr in
+unix_sock_change_iface might read outside of the available buffer.
+
+Signed-off-by: Sven Eckelmann <sven@narfation.org>
+Origin: upstream, https://git.open-mesh.org/alfred.git/commit/d2d27e4b9d697928d21dfa5c79908618ef8b56ac
+
+--- a/unix_sock.c
++++ b/unix_sock.c
+@@ -329,6 +329,8 @@ unix_sock_change_iface(struct globals *g
+ if (len < (int)(sizeof(*change_iface) - sizeof(change_iface->header)))
+ goto err;
+
++ change_iface->ifaces[sizeof(change_iface->ifaces) - 1] = '\0';
++
+ if (globals->opmode == OPMODE_SECONDARY) {
+ if (strstr(change_iface->ifaces, ",") != NULL) {
+ ret = -EINVAL;