[nft PATCH] parser_json: Fix crash in error reporting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When trying to add a chain to a non-existing table, error reporting
tries to dereference indesc pointer of the table's location. Hence make
sure the latter is initialized correctly.

Signed-off-by: Phil Sutter <phil@xxxxxx>
---
 src/parser_json.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/parser_json.c b/src/parser_json.c
index ce85b798e908e..c97fea44b95d8 100644
--- a/src/parser_json.c
+++ b/src/parser_json.c
@@ -2154,7 +2154,9 @@ static struct stmt *json_parse_stmt(struct json_ctx *ctx, json_t *root)
 static struct cmd *json_parse_cmd_add_table(struct json_ctx *ctx, json_t *root,
 					    enum cmd_ops op, enum cmd_obj obj)
 {
-	struct handle h = { 0 };
+	struct handle h = {
+		.table.location = *int_loc,
+	};
 	const char *family = "";
 
 	if (json_unpack_err(ctx, root, "{s:s}",
@@ -2192,7 +2194,9 @@ static int parse_policy(const char *policy)
 static struct cmd *json_parse_cmd_add_chain(struct json_ctx *ctx, json_t *root,
 					    enum cmd_ops op, enum cmd_obj obj)
 {
-	struct handle h = { 0 };
+	struct handle h = {
+		.table.location = *int_loc,
+	};
 	const char *family = "", *policy = "", *type, *hookstr;
 	int prio;
 	struct chain *chain;
-- 
2.18.0




[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux