diff --git a/utils/rbuscli/rbuscli.c b/utils/rbuscli/rbuscli.c index 8037b1d2..5ede765e 100644 --- a/utils/rbuscli/rbuscli.c +++ b/utils/rbuscli/rbuscli.c @@ -967,7 +967,7 @@ void execute_discover_component_cmd(int argc, char* argv[]) int index = 0; int i; int componentCnt = 0; - char **pComponentNames; + char **pComponentNames = NULL; char const* pElementNames[RBUS_CLI_MAX_PARAM] = {0, 0}; if (!verify_rbus_open()) @@ -1000,6 +1000,8 @@ void execute_discover_component_cmd(int argc, char* argv[]) else { printf ("Failed to discover components. Error Code = %d\r\n", rc); + free(pComponentNames); + return; } } @@ -1009,7 +1011,7 @@ void execute_discover_elements_cmd(int argc, char *argv[]) int numOfInputParams = argc - 2; bool nextLevel = true; int numElements = 0; - char** pElementNames; // FIXME: every component will have more than RBUS_CLI_MAX_PARAM elements right? + char** pElementNames = NULL; // FIXME: every component will have more than RBUS_CLI_MAX_PARAM elements right? if (!verify_rbus_open()) return; @@ -1045,6 +1047,8 @@ void execute_discover_elements_cmd(int argc, char *argv[]) else { printf ("Failed to discover elements. Error Code = %d\r\n", rc); + free(pElementNames); + return; } } @@ -1052,7 +1056,7 @@ void execute_discover_wildcard_dests_cmd(int argc, char* argv[]) { rbusCoreError_t rc = RBUSCORE_SUCCESS; int numDestinations = 0; - char** destinations; + char** destinations = NULL; (void)argc; (void)argv; @@ -1089,6 +1093,8 @@ void execute_discover_wildcard_dests_cmd(int argc, char* argv[]) else { printf ("Failed to discover components. Error Code = %d\r\n", rc); + free(destinations); + return; } }