From 28ee49e5153b02698f100ad4e390fe700f7bcf32 Mon Sep 17 00:00:00 2001 From: Andrea Claudi Date: Sat, 1 May 2021 18:32:30 +0200 Subject: [PATCH] tipc: bail out if key is abnormally long tipc segfaults when called with an abnormally long key: $ tipc node set key 0123456789abcdef0123456789abcdef0123456789abcdef *** buffer overflow detected ***: terminated Fix this returning an error if key length is longer than TIPC_AEAD_KEYLEN_MAX. Fixes: 24bee3bf9752 ("tipc: add new commands to set TIPC AEAD key") Signed-off-by: Andrea Claudi Signed-off-by: David Ahern --- tipc/misc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tipc/misc.c b/tipc/misc.c index 1daf3072..909975d8 100644 --- a/tipc/misc.c +++ b/tipc/misc.c @@ -113,6 +113,9 @@ int str2key(char *str, struct tipc_aead_key *key) } } + if (len > TIPC_AEAD_KEYLEN_MAX) + return -1; + /* Obtain key: */ if (!ishex) { key->keylen = len;