[easytag/wip/application-window] Use g_format_size() instead of custom code
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag/wip/application-window] Use g_format_size() instead of custom code
- Date: Mon, 3 Feb 2014 21:43:16 +0000 (UTC)
commit 1fe7860e7f7097f4c0fe8381076db2245c4ecc05
Author: David King <amigadave amigadave com>
Date: Mon Feb 3 21:37:20 2014 +0000
Use g_format_size() instead of custom code
Replace Convert_Size() and Convert_Size_1() with g_format_size() to
avoid potential invalid memory accesses.
Found with Coverity (CID 1163338 and CID 1163339).
src/cddb_dialog.c | 2 +-
src/et_core.c | 4 +-
src/flac_header.c | 4 +-
src/misc.c | 48 ----------------------------------------------
src/misc.h | 2 -
src/monkeyaudio_header.c | 4 +-
src/mp4_header.c | 4 +-
src/mpeg_header.c | 4 +-
src/musepack_header.c | 4 +-
src/ogg_header.c | 4 +-
src/picture.c | 2 +-
src/wavpack_header.c | 4 +-
12 files changed, 18 insertions(+), 68 deletions(-)
---
diff --git a/src/cddb_dialog.c b/src/cddb_dialog.c
index 5080cae..dca3fdb 100644
--- a/src/cddb_dialog.c
+++ b/src/cddb_dialog.c
@@ -1063,7 +1063,7 @@ Cddb_Write_Result_To_File (EtCDDBDialog *self,
//g_print("\nLine : %lu : %s\n",bytes_read,cddb_out);
// Display message
- size_str = Convert_Size_1(*bytes_read_total);
+ size_str = g_format_size (*bytes_read_total);
msg = g_strdup_printf(_("Receiving data (%s)…"),size_str);
gtk_statusbar_push (GTK_STATUSBAR (priv->status_bar),
priv->status_bar_context, msg);
diff --git a/src/et_core.c b/src/et_core.c
index 9250ee3..22981b6 100644
--- a/src/et_core.c
+++ b/src/et_core.c
@@ -3142,8 +3142,8 @@ ET_Display_File_Info_To_UI(ET_File_Info *ETFileInfo)
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
diff --git a/src/flac_header.c b/src/flac_header.c
index 3293b42..535f7b0 100644
--- a/src/flac_header.c
+++ b/src/flac_header.c
@@ -218,8 +218,8 @@ gboolean Flac_Header_Display_File_Info_To_UI (gchar *filename_utf8, ET_File_Info
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
diff --git a/src/misc.c b/src/misc.c
index c39ed40..807fffc 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -895,54 +895,6 @@ gchar *Check_If_Executable_Exists (const gchar *program)
}
-
-
-/*
- * The returned string must be freed after use
- */
-gchar *
-Convert_Size (gsize size)
-{
- /* Translators: file size (bytes, kilobytes, megabytes, gigabytes,
- * terabytes). */
- const gchar *units_tab[] = { N_("B"), N_("kB"), N_("MB"), N_("GB"), N_("TB")};
- gsize i;
-
- for (i = 0; size / 1024 && i < G_N_ELEMENTS (units_tab); i++)
- {
- size /= 1024;
- }
-
- return g_strdup_printf ("%.1" G_GSIZE_FORMAT " %s", size, _(units_tab[i]));
-}
-
-/*
- * Same as before except that if value in MB, we display 3 numbers after the
- * comma. The returned string must be freed after use.
- */
-gchar *
-Convert_Size_1 (gsize size)
-{
- /* Translators: file size (bytes, kilobytes, megabytes, gigabytes,
- * terabytes). */
- const gchar *units_tab[] = { N_("B"), N_("kB"), N_("MB"), N_("GB"), N_("TB")};
- guint i;
-
- for (i = 0; size / 1024 && i < G_N_ELEMENTS (units_tab); i++)
- {
- size /= 1024;
- }
-
- /* FIXME: Separator should be taken from the locale. */
- /* For large values : display 3 number afer the separator. */
- if (i >= 2)
- return g_strdup_printf ("%.3" G_GSIZE_FORMAT " %s", size,
- _(units_tab[i]));
- else
- return g_strdup_printf ("%.1" G_GSIZE_FORMAT " %s", size,
- _(units_tab[i]));
-}
-
/*
* Convert a series of seconds into a readable duration
* Remember to free the string that is returned
diff --git a/src/misc.h b/src/misc.h
index 4aa9b8a..56c2843 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -64,8 +64,6 @@ void Run_Audio_Player_Using_Selection (void);
void Run_Audio_Player_Using_Browser_Artist_List (void);
void Run_Audio_Player_Using_Browser_Album_List (void);
-gchar *Convert_Size (gsize size);
-gchar *Convert_Size_1 (gsize size);
gchar *Convert_Duration (gulong duration);
goffset et_get_file_size (const gchar *filename);
diff --git a/src/monkeyaudio_header.c b/src/monkeyaudio_header.c
index 04bce1f..30f9122 100644
--- a/src/monkeyaudio_header.c
+++ b/src/monkeyaudio_header.c
@@ -101,8 +101,8 @@ gboolean Mac_Header_Display_File_Info_To_UI (gchar *filename_utf8, ET_File_Info
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
diff --git a/src/mp4_header.c b/src/mp4_header.c
index 6ff90d0..f9952a2 100644
--- a/src/mp4_header.c
+++ b/src/mp4_header.c
@@ -151,8 +151,8 @@ gboolean Mp4_Header_Display_File_Info_To_UI(gchar *filename, ET_File_Info *ETFil
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
if (size) g_free(size);
diff --git a/src/mpeg_header.c b/src/mpeg_header.c
index 9cd34b9..ba46ff4 100644
--- a/src/mpeg_header.c
+++ b/src/mpeg_header.c
@@ -219,8 +219,8 @@ gboolean Mpeg_Header_Display_File_Info_To_UI(gchar *filename_utf8, ET_File_Info
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
diff --git a/src/musepack_header.c b/src/musepack_header.c
index 339e85e..84f6be3 100644
--- a/src/musepack_header.c
+++ b/src/musepack_header.c
@@ -104,8 +104,8 @@ gboolean Mpc_Header_Display_File_Info_To_UI (gchar *filename_utf8, ET_File_Info
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
diff --git a/src/ogg_header.c b/src/ogg_header.c
index 7fbd397..915cb3d 100644
--- a/src/ogg_header.c
+++ b/src/ogg_header.c
@@ -414,8 +414,8 @@ gboolean Ogg_Header_Display_File_Info_To_UI (gchar *filename, ET_File_Info *ETFi
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
diff --git a/src/picture.c b/src/picture.c
index 557fadb..646ed0e 100644
--- a/src/picture.c
+++ b/src/picture.c
@@ -901,7 +901,7 @@ Picture_Info (Picture *pic)
desc = "";
type = Picture_Type_String(pic->type);
- size_str = Convert_Size_1((gfloat)pic->size);
+ size_str = g_format_size (pic->size);
s = g_string_new(0);
// Behaviour following the tag type...
diff --git a/src/wavpack_header.c b/src/wavpack_header.c
index 61da89e..3a0fb3a 100644
--- a/src/wavpack_header.c
+++ b/src/wavpack_header.c
@@ -91,8 +91,8 @@ gboolean Wavpack_Header_Display_File_Info_To_UI(gchar *filename_utf8, ET_File_In
g_free(text);
/* Size */
- size = Convert_Size(ETFileInfo->size);
- size1 = Convert_Size(ETCore->ETFileDisplayedList_TotalSize);
+ size = g_format_size (ETFileInfo->size);
+ size1 = g_format_size (ETCore->ETFileDisplayedList_TotalSize);
text = g_strdup_printf("%s (%s)",size,size1);
gtk_label_set_text(GTK_LABEL(SizeValueLabel),text);
g_free(size);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]