32 lines
1007 B
Diff
32 lines
1007 B
Diff
From 1e5ad2eeb38af0af2e06d4cba0ec4d84009855fa Mon Sep 17 00:00:00 2001
|
|
From: Phil Sutter <phil@nwl.cc>
|
|
Date: Wed, 13 Sep 2023 20:53:41 +0200
|
|
Subject: [PATCH] parser_json: Wrong check in json_parse_ct_timeout_policy()
|
|
|
|
The conditional around json_unpack() was meant to accept a missing
|
|
policy attribute. But the accidentally inverted check made the function
|
|
either ignore a given policy or access uninitialized memory.
|
|
|
|
Fixes: c82a26ebf7e9f ("json: Add ct timeout support")
|
|
Signed-off-by: Phil Sutter <phil@nwl.cc>
|
|
---
|
|
src/parser_json.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/parser_json.c b/src/parser_json.c
|
|
index 6d8e5c62..eec73034 100644
|
|
--- a/src/parser_json.c
|
|
+++ b/src/parser_json.c
|
|
@@ -3415,7 +3415,7 @@ static int json_parse_ct_timeout_policy(struct json_ctx *ctx,
|
|
json_t *tmp, *val;
|
|
const char *key;
|
|
|
|
- if (!json_unpack(root, "{s:o}", "policy", &tmp))
|
|
+ if (json_unpack(root, "{s:o}", "policy", &tmp))
|
|
return 0;
|
|
|
|
if (!json_is_object(tmp)) {
|
|
--
|
|
2.33.0
|
|
|