From 006964c4dc2fe26c5a16a3f7b5785fde926ff4ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sat, 20 Nov 2021 13:19:44 +0100 Subject: irc: fix memory leak in case of realloc error --- src/plugins/irc/irc-message.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/irc/irc-message.c b/src/plugins/irc/irc-message.c index ceca9707f..e5beb2f88 100644 --- a/src/plugins/irc/irc-message.c +++ b/src/plugins/irc/irc-message.c @@ -60,6 +60,7 @@ irc_message_parse_params (const char *parameters, char ***params, int *num_params) { const char *ptr_params, *pos_end, *pos_next; + char **new_params; int alloc_params, trailing; if (!params && !num_params) @@ -113,10 +114,11 @@ irc_message_parse_params (const char *parameters, if (params) { alloc_params++; - *params = realloc (*params, - (alloc_params + 1) * sizeof ((*params)[0])); - if (!*params) + new_params = realloc (*params, + (alloc_params + 1) * sizeof ((*params)[0])); + if (!new_params) return; + *params = new_params; (*params)[alloc_params - 1] = weechat_strndup (ptr_params, pos_end - ptr_params); (*params)[alloc_params] = NULL; -- cgit v1.2.3