From 070e812e1bfb81a35a95a9c16cc20e8ffa6e30e4 Mon Sep 17 00:00:00 2001 From: Suvendhu Hansa Date: Fri, 6 Jun 2025 17:11:28 +0530 Subject: [PATCH] Fix fault string initialization --- src/rpc.c | 12 +++++++++--- src/session.c | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/rpc.c b/src/rpc.c index bc9580f..8ccf26a 100755 --- a/src/rpc.c +++ b/src/rpc.c @@ -410,8 +410,10 @@ static void load_inform_xml_schema(mxml_node_t **tree) LIST_HEAD(parameters_list); char *err = cwmp_get_parameter_values(parameter_name, ¶meters_list); - if (err || list_empty(¶meters_list)) + if (err || list_empty(¶meters_list)) { + memset(cwmp_ctx.session->fault_msg, 0, sizeof(cwmp_ctx.session->fault_msg)); continue; + } char *events_str_list = param_iter->value; if (!check_inform_parameter_events_list_corresponding(events_str_list, &(cwmp_ctx.session->events))) @@ -2403,12 +2405,16 @@ int cwmp_create_fault_message(struct rpc *rpc_cpe, int fault_code, const char *f MXML_DELETE(cwmp_ctx.session->tree_out); - if (xml_prepare_msg_out(cwmp_ctx.session)) + if (xml_prepare_msg_out(cwmp_ctx.session)) { + memset(cwmp_ctx.session->fault_msg, 0, sizeof(cwmp_ctx.session->fault_msg)); return -1; + } CWMP_LOG(INFO, "Preparing the Fault message"); - if (rpc_cpe_methods[RPC_CPE_FAULT].handler(rpc_cpe)) + if (rpc_cpe_methods[RPC_CPE_FAULT].handler(rpc_cpe)) { + memset(cwmp_ctx.session->fault_msg, 0, sizeof(cwmp_ctx.session->fault_msg)); return -1; + } rpc_cpe->type = RPC_CPE_FAULT; diff --git a/src/session.c b/src/session.c index 82e64d4..8a52976 100644 --- a/src/session.c +++ b/src/session.c @@ -826,7 +826,8 @@ int run_session_end_func(void) } INIT_LIST_HEAD(&intf_reset_list); - + memset(cwmp_ctx.session->fault_msg, 0, sizeof(cwmp_ctx.session->fault_msg)); end_session_flag = 0; + return CWMP_OK; }