You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.6 KiB
52 lines
1.6 KiB
2 years ago
|
From dc640e127f4c678c9dfbda776994972600d53e56 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hr=C3=A1zk=C3=BD?= <lhrazky@redhat.com>
|
||
|
Date: Tue, 16 Aug 2022 13:44:22 +0200
|
||
|
Subject: [PATCH] Use g_strdup_vprintf() instead of manually calculating
|
||
|
allocation space
|
||
|
|
||
|
Fixes an error introduced in d2508e206514bdbf841ee72f4971336766c16fe1 by
|
||
|
removing trailing NULLs, on which the size calculation code was relying.
|
||
|
|
||
|
Instead of this incosistent argument iteration, use g_strdup_vprintf(),
|
||
|
which allocates the new string correctly.
|
||
|
---
|
||
|
librepo/metadata_downloader.c | 19 ++-----------------
|
||
|
1 file changed, 2 insertions(+), 17 deletions(-)
|
||
|
|
||
|
diff --git a/librepo/metadata_downloader.c b/librepo/metadata_downloader.c
|
||
|
index 9e7d7e5..92a462b 100644
|
||
|
--- a/librepo/metadata_downloader.c
|
||
|
+++ b/librepo/metadata_downloader.c
|
||
|
@@ -98,26 +98,11 @@ void
|
||
|
lr_metadatatarget_append_error(LrMetadataTarget *target, char *format, ...)
|
||
|
{
|
||
|
va_list valist;
|
||
|
- size_t length = strlen(format);
|
||
|
- char *error_message = NULL;
|
||
|
-
|
||
|
- va_start(valist, format);
|
||
|
- while (1) {
|
||
|
- char *arg = va_arg(valist, char*);
|
||
|
- if (arg == NULL)
|
||
|
- break;
|
||
|
-
|
||
|
- length += strlen(arg);
|
||
|
- }
|
||
|
- length += RESERVE;
|
||
|
- va_end(valist);
|
||
|
-
|
||
|
va_start(valist, format);
|
||
|
- error_message = malloc(length * sizeof(char));
|
||
|
- vsnprintf(error_message, length, format, valist);
|
||
|
+ gchar *error_message = g_strdup_vprintf(format, valist);
|
||
|
va_end(valist);
|
||
|
|
||
|
- target->err = g_list_append(target->err, (gpointer) error_message);
|
||
|
+ target->err = g_list_append(target->err, error_message);
|
||
|
}
|
||
|
|
||
|
static gboolean
|
||
|
--
|
||
|
2.37.1
|
||
|
|