fix memory leaks
This commit is contained in:
parent
dea1c8ae52
commit
bbbc0c4683
@ -72,6 +72,7 @@ char* fifoToString(FIFOBuffChar_t* fifo)
|
|||||||
|
|
||||||
int tryExecute(FIFOBuffChar_t* fifo)
|
int tryExecute(FIFOBuffChar_t* fifo)
|
||||||
{
|
{
|
||||||
|
int ret = 0;
|
||||||
char* line = fifoToString(fifo);
|
char* line = fifoToString(fifo);
|
||||||
CMD_t* cmd = CMDList_get(CMDList, line);
|
CMD_t* cmd = CMDList_get(CMDList, line);
|
||||||
|
|
||||||
@ -83,7 +84,7 @@ int tryExecute(FIFOBuffChar_t* fifo)
|
|||||||
{
|
{
|
||||||
CLI_stringOut((char*)"> ");
|
CLI_stringOut((char*)"> ");
|
||||||
}
|
}
|
||||||
return true;
|
ret = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -93,8 +94,10 @@ int tryExecute(FIFOBuffChar_t* fifo)
|
|||||||
sprintf(&err[0], "command not found: %s\n> ", line);
|
sprintf(&err[0], "command not found: %s\n> ", line);
|
||||||
CLI_stringOut(&err[0]);
|
CLI_stringOut(&err[0]);
|
||||||
}
|
}
|
||||||
return false;
|
ret = -1;
|
||||||
}
|
}
|
||||||
|
free(line);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// to recive a single caracter
|
// to recive a single caracter
|
||||||
|
|||||||
@ -18,20 +18,16 @@ CMDList_t* CMDList_init()
|
|||||||
int CMDList_deinit(CMDList_t *list)
|
int CMDList_deinit(CMDList_t *list)
|
||||||
{
|
{
|
||||||
CMDList_t** list_p = (CMDList_t**)list;
|
CMDList_t** list_p = (CMDList_t**)list;
|
||||||
// printf("deinit %p\n", (void*)list);
|
|
||||||
// printf("deinit e %p\n", list->e);
|
|
||||||
|
|
||||||
for (int i = 0; i < 26; i++)
|
for (int i = 0; i < 26; i++)
|
||||||
{
|
{
|
||||||
if (*(list_p + i) != NULL)
|
if (*(list_p + i) != NULL)
|
||||||
{
|
{
|
||||||
// printf("deinit %i\n", i);
|
|
||||||
CMDList_deinit(*(list_p + i));
|
CMDList_deinit(*(list_p + i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: fix "free(): invalid pointer"
|
free(*list_p);
|
||||||
// free(list);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user