From b51ef773ad5cbd3eb9e348df4f70eb03307ce044 Mon Sep 17 00:00:00 2001 From: EulerOSWander <314264452@qq.com> Date: Mon, 12 Jun 2023 14:19:30 +0800 Subject: [PATCH] pmap: Increase memory allocation failure judgment Call trace: #0 __vsnprintf_internal #1 0x00007f967aedd656 in __GI___snprintf #2 0x00005612da28c707 in snprintf #3 config_read (rc_filename=) at pmap.c:885 #4 0x00005612da28b8c0 int main at pmap.c:1144 The above stack is caused by calling a null pointer after the memory allocation fails. Increase the null pointer judgment. signed-off-by: zhoujie --- src/pmap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pmap.c b/src/pmap.c index 658b2501..74d57dab 100644 --- a/src/pmap.c +++ b/src/pmap.c @@ -881,7 +881,11 @@ static int config_read (char *rc_filename) } /* add the field in the list */ - cnf_listnode = calloc(1, sizeof *cnf_listnode); + if (!(cnf_listnode = calloc(1, sizeof *cnf_listnode))) { + xwarnx(_("memory allocation failed")); + fclose(f); + return 0; + } snprintf(cnf_listnode -> description, sizeof(cnf_listnode -> description), "%s", token); cnf_listnode -> next = cnf_listhead; cnf_listhead = cnf_listnode; -- 2.33.0