From c96bd4367074c1e5ad055d379f8fa22798ebb992 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 21 Jan 2025 15:20:38 -0400 Subject: [PATCH] MT#55283 bail if Redis contains garbage data Change-Id: I76f21d6c44f04e063cb57dd04f1f631dead0600a (cherry picked from commit 3bbf4d94a1349960e710fedc087d931179df11d4) (cherry picked from commit 858ea8966d7938ec762e2282b4634ad73819d2a3) --- daemon/redis.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/daemon/redis.c b/daemon/redis.c index dcebbef41..f17cbf1c3 100644 --- a/daemon/redis.c +++ b/daemon/redis.c @@ -2031,7 +2031,7 @@ static void json_restore_call(struct redis *r, const str *callid, bool foreign) if (!rr_jsonStr) goto err1; - parser_arg root = {.json = json_root}; + parser_arg root = {0}; if (rr_jsonStr->str[0] == '{') { parser = json_parser_new(); @@ -2058,6 +2058,10 @@ static void json_restore_call(struct redis *r, const str *callid, bool foreign) redis_parser = &ng_parser_native; root.benc = benc_root; } + else { + err = "Unrecognised serial format"; + goto err1; + } c = call_get_or_create(callid, false); err = "failed to create call struct";