Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=setup.git;a=commitdiff;h=102e760251cbca624c178961f41cc5593bca32c9

commit 102e760251cbca624c178961f41cc5593bca32c9
Author: Priyank <priy...@frugalware.org>
Date:   Sun Jun 14 13:20:07 2009 +0530

doswap(): Fix memory leaks

diff --git a/src/plugins/formatdisk.c b/src/plugins/formatdisk.c
index a25878c..0d33768 100644
--- a/src/plugins/formatdisk.c
+++ b/src/plugins/formatdisk.c
@@ -265,6 +265,7 @@ int doswap(GList *partlist, GList **config)
if ((fp = fopen(fn, "w")) == NULL)
{
perror(_("Could not open output file for writing"));
+               FREE(fn);
return(1);
}
fprintf(fp, "%-16s %-16s %-11s %-16s %-3s %s\n",
@@ -281,6 +282,7 @@ int doswap(GList *partlist, GList **config)
// format the partitions
for (i=0; i<g_list_length(partlist); i++)
{
+               char *tmp;
dialog_vars.input_result[0]='\0';
item = strdup((char*)g_list_nth_data(partlist, i));
ptr = selmkswapmode(item);
@@ -288,19 +290,27 @@ int doswap(GList *partlist, GList **config)
return(-1);
if(!strcmp("format", ptr))
{
-                       fw_info(_("Formatting swap partition"),
-                               g_strdup_printf(_("Formatting %s as a swap "
-                               "partition"), item));
-                       fw_system(g_strdup_printf("%s %s", MKSWAP, item));
+                       tmp = g_strdup_printf(_("Formatting %s as a swap "
+                                               "partition"), item);
+                       fw_info(_("Formatting swap partition"), tmp);
+                       FREE(tmp);
+                       tmp = g_strdup_printf("%s %s", MKSWAP, item);
+                       fw_system(tmp);
+                       FREE(tmp);
}
else if (!strcmp("check", ptr))
{
-                       fw_info(_("Formatting swap partition"),
-                       g_strdup_printf(_("Formatting %s as a swap "
-                       "partition and checking for bad blocks"), item));
-                       fw_system(g_strdup_printf("%s -c %s", MKSWAP, item));
+                       tmp = g_strdup_printf(_("Formatting %s as a swap "
+                                               "partition and checking for bad 
blocks"), item);
+                       fw_info(_("Formatting swap partition"), tmp);
+                       FREE(tmp);
+                       tmp = g_strdup_printf("%s -c %s", MKSWAP, item);
+                       fw_system(tmp);
+                       FREE(tmp);
}
-               fw_system(g_strdup_printf("%s %s", SWAPON, item));
+               ptr = g_strdup_printf("%s %s", SWAPON, item);
+               fw_system(ptr);
+               FREE(ptr);
fprintf(fp, "%-16s %-16s %-11s %-16s %-3s %s\n",
item, "swap", "swap", "defaults", "0", "0");
}
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to