[easytag/easytag-2-2] Fix more CDDB track number memory leaks
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag/easytag-2-2] Fix more CDDB track number memory leaks
- Date: Wed, 5 Nov 2014 00:06:44 +0000 (UTC)
commit 5201567287b9a9da263d9bd4be1fae8701f205d6
Author: David King <amigadave amigadave com>
Date: Mon Nov 3 23:00:52 2014 +0000
Fix more CDDB track number memory leaks
src/cddb.c | 37 ++++++++++++++++++++++---------------
1 files changed, 22 insertions(+), 15 deletions(-)
---
diff --git a/src/cddb.c b/src/cddb.c
index 5de1dfe..2a31e7e 100644
--- a/src/cddb.c
+++ b/src/cddb.c
@@ -3927,7 +3927,6 @@ Cddb_Set_Track_Infos_To_File_List (void)
GList *file_iterlist = NULL;
GList *file_selectedrows;
GList *selectedrows = NULL;
- gchar buffer[256];
gboolean CddbTrackList_Line_Selected;
gboolean cddbsettoallfields, cddbsettotitle, cddbsettoartist, cddbsettoalbum, cddbsettoyear,
cddbsettotrack, cddbsettotracktotal, cddbsettogenre, cddbsettofilename;
@@ -4220,18 +4219,25 @@ Cddb_Set_Track_Infos_To_File_List (void)
if (cddbsettoallfields || cddbsettotrack)
{
- snprintf (buffer, sizeof (buffer), "%s",
- et_track_number_to_string (cddbtrackalbum->track_number));
+ gchar *track_number;
+
+ track_number = et_track_number_to_string (cddbtrackalbum->track_number);
- ET_Set_Field_File_Tag_Item(&FileTag->track,buffer);
+ ET_Set_Field_File_Tag_Item (&FileTag->track, track_number);
+
+ g_free (track_number);
}
if (cddbsettoallfields || cddbsettotracktotal)
{
- snprintf (buffer, sizeof (buffer), "%s",
- et_track_number_to_string (list_length));
+ gchar *track_total;
+
+ track_total = et_track_number_to_string (list_length);
+
+ ET_Set_Field_File_Tag_Item (&FileTag->track_total,
+ track_total);
- ET_Set_Field_File_Tag_Item(&FileTag->track_total,buffer);
+ g_free (track_total);
}
if ( (cddbsettoallfields || cddbsettogenre) && (cddbtrackalbum->cddbalbum->genre ||
cddbtrackalbum->cddbalbum->category) )
@@ -4243,27 +4249,28 @@ Cddb_Set_Track_Infos_To_File_List (void)
}
}
- /*
- * Filename field
- */
+ /* Filename field. */
if ( (cddbsettoallfields || cddbsettofilename) )
{
+ gchar *track_number;
gchar *filename_generated_utf8;
gchar *filename_new_utf8;
// Allocation of a new FileName
FileName = ET_File_Name_Item_New();
- // Build the filename with the path
- snprintf (buffer, sizeof (buffer), "%s",
- et_track_number_to_string (cddbtrackalbum->track_number));
+ /* Build the filename with the path. */
+ track_number = et_track_number_to_string (cddbtrackalbum->track_number);
- filename_generated_utf8 = g_strconcat(buffer," - ",cddbtrackalbum->track_name,NULL);
+ filename_generated_utf8 = g_strconcat (track_number, " - ",
+ cddbtrackalbum->track_name,
+ NULL);
ET_File_Name_Convert_Character(filename_generated_utf8); // Replace invalid characters
filename_new_utf8 = ET_File_Name_Generate(etfile,filename_generated_utf8);
ET_Set_Filename_File_Name_Item(FileName,filename_new_utf8,NULL);
+ g_free (track_number);
g_free(filename_generated_utf8);
g_free(filename_new_utf8);
}
@@ -4279,7 +4286,7 @@ Cddb_Set_Track_Infos_To_File_List (void)
file_iterlist = file_iterlist->next;
}
- g_list_free_full (file_iterlist, (GDestroyNotify)g_free);
+ g_list_free_full (g_list_first (file_iterlist), (GDestroyNotify)g_free);
Browser_List_Refresh_Whole_List();
ET_Display_File_Data_To_UI(ETCore->ETFileDisplayed);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]