xmalloc() and xfree() are internal symbols of the library, do not use them. Fixes: 16543a0136c0 ("libnftables: export public symbols only") Reported-by: Phil Sutter <phil@xxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- v2: exit() in case of OOM from cli src/cli.c | 12 +++++++++--- src/main.c | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/cli.c b/src/cli.c index ca3869abe335..bbdd0fdbeeb8 100644 --- a/src/cli.c +++ b/src/cli.c @@ -63,9 +63,15 @@ static char *cli_append_multiline(char *line) rl_set_prompt(".... "); } else { len += strlen(multiline); - s = xmalloc(len + 1); + s = malloc(len + 1); + if (!s) { + fprintf(stderr, "%s:%u: Memory allocation failure\n", + __FILE__, __LINE__); + cli_exit(); + exit(EXIT_FAILURE); + } snprintf(s, len + 1, "%s%s", multiline, line); - xfree(multiline); + free(multiline); multiline = s; } line = NULL; @@ -111,7 +117,7 @@ static void cli_complete(char *line) add_history(line); nft_run_cmd_from_buffer(cli_nft, line); - xfree(line); + free(line); } static char **cli_completion(const char *text, int start, int end) diff --git a/src/main.c b/src/main.c index 8e6c897cdd36..694611224d07 100644 --- a/src/main.c +++ b/src/main.c @@ -329,7 +329,7 @@ int main(int argc, char * const *argv) exit(EXIT_FAILURE); } - xfree(buf); + free(buf); nft_ctx_free(nft); return rc; -- 2.11.0