From 7226b005e96a519453ce29a75bf0e8ec164311c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Tue, 17 Dec 2024 20:43:23 +0100 Subject: [PATCH] logger: replace calls to malloc by weechat_asprintf --- src/plugins/logger/logger-backlog.c | 9 ++------- src/plugins/logger/logger-tail.c | 17 ++++++----------- src/plugins/logger/logger.c | 25 +++++++------------------ 3 files changed, 15 insertions(+), 36 deletions(-) diff --git a/src/plugins/logger/logger-backlog.c b/src/plugins/logger/logger-backlog.c index 1bb015460..940007f52 100644 --- a/src/plugins/logger/logger-backlog.c +++ b/src/plugins/logger/logger-backlog.c @@ -191,21 +191,16 @@ logger_backlog_group_messages (struct t_arraylist *lines) if (message) { - new_message = malloc (strlen (ptr_line) + 1 + strlen (message) + 1); - if (!new_message) + if (weechat_asprintf (&new_message, "%s\n%s", ptr_line, message) < 0) goto error; - strcpy (new_message, ptr_line); - strcat (new_message, "\n"); - strcat (new_message, message); free (message); message = new_message; } else { - message = malloc (strlen (ptr_line) + 1); + message = strdup (ptr_line); if (!message) goto error; - strcpy (message, ptr_line); } time_found = 0; diff --git a/src/plugins/logger/logger-tail.c b/src/plugins/logger/logger-tail.c index 9263b5e7f..f1c145aa0 100644 --- a/src/plugins/logger/logger-tail.c +++ b/src/plugins/logger/logger-tail.c @@ -167,12 +167,8 @@ logger_tail_file (const char *filename, int lines) pos_eol++; if (part_of_line) { - line = malloc ((strlen (pos_eol) + - strlen (part_of_line) + 1)); - if (!line) + if (weechat_asprintf (&line, "%s%s", pos_eol, part_of_line) < 0) goto error; - strcpy (line, pos_eol); - strcat (line, part_of_line); free (part_of_line); part_of_line = NULL; weechat_arraylist_insert (list_lines, 0, line); @@ -193,20 +189,19 @@ logger_tail_file (const char *filename, int lines) */ if (part_of_line) { - new_part_of_line = malloc (strlen (buf) + strlen (part_of_line) + 1); - if (!new_part_of_line) + if (weechat_asprintf (&new_part_of_line, + "%s%s", buf, part_of_line) < 0) + { goto error; - strcpy (new_part_of_line, buf); - strcat (new_part_of_line, part_of_line); + } free (part_of_line); part_of_line = new_part_of_line; } else { - part_of_line = malloc (strlen (buf) + 1); + part_of_line = strdup (buf); if (!part_of_line) goto error; - strcpy (part_of_line, buf); } ptr_buf = NULL; } diff --git a/src/plugins/logger/logger.c b/src/plugins/logger/logger.c index d9608a3cc..b2caf51f7 100644 --- a/src/plugins/logger/logger.c +++ b/src/plugins/logger/logger.c @@ -202,7 +202,6 @@ logger_build_option_name (struct t_gui_buffer *buffer) { const char *plugin_name, *name; char *option_name; - int length; if (!buffer) return NULL; @@ -210,12 +209,7 @@ logger_build_option_name (struct t_gui_buffer *buffer) plugin_name = weechat_buffer_get_string (buffer, "plugin"); name = weechat_buffer_get_string (buffer, "name"); - length = strlen (plugin_name) + 1 + strlen (name) + 1; - option_name = malloc (length); - if (!option_name) - return NULL; - - snprintf (option_name, length, "%s.%s", plugin_name, name); + weechat_asprintf (&option_name, "%s.%s", plugin_name, name); return option_name; } @@ -450,7 +444,6 @@ logger_get_filename (struct t_gui_buffer *buffer) { char *res, *mask_expanded, *file_path, *dir_separator; const char *mask; - int length; res = NULL; mask_expanded = NULL; @@ -483,16 +476,12 @@ logger_get_filename (struct t_gui_buffer *buffer) goto end; /* build string with path + mask */ - length = strlen (file_path) + strlen (dir_separator) + - strlen (mask_expanded) + 1; - res = malloc (length); - if (res) - { - snprintf (res, length, "%s%s%s", - file_path, - (file_path[strlen (file_path) - 1] == dir_separator[0]) ? "" : dir_separator, - mask_expanded); - } + weechat_asprintf ( + &res, + "%s%s%s", + file_path, + (file_path[strlen (file_path) - 1] == dir_separator[0]) ? "" : dir_separator, + mask_expanded); end: free (dir_separator);