Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gfpm/.git;a=commitdiff;h=97fef888a3fd49678cc1baab091b0f0d5720fc4e

commit 97fef888a3fd49678cc1baab091b0f0d5720fc4e
Author: Priyank <[EMAIL PROTECTED]>
Date:   Mon Jul 30 20:47:01 2007 +0530

gfpm: some checks to prevent crashes

diff --git a/src/gfpm-interface.c b/src/gfpm-interface.c
index 4ba9c7b..1919745 100644
--- a/src/gfpm-interface.c
+++ b/src/gfpm-interface.c
@@ -272,6 +272,7 @@ cb_gfpm_apply_btn_clicked (GtkButton *button, gpointer data)
gint flags = 0;
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gfpm_apply_rem_depcheck)))
flags |= PM_TRANS_FLAG_NODEPS;
+
/* create transaction */
if (pacman_trans_init(PM_TRANS_TYPE_REMOVE, flags, gfpm_progress_event, NULL, 
gfpm_progress_install) == -1)
{
diff --git a/src/gfpm-progress.c b/src/gfpm-progress.c
index 860f967..99c8bf3 100644
--- a/src/gfpm-progress.c
+++ b/src/gfpm-progress.c
@@ -94,8 +94,9 @@ gfpm_progress_install (unsigned char event, char *pkgname, 
int percent, int howm

if (!pkgname)
return;
-       if (percent > 100)
+       if (percent < 0 || percent > 100)
return;
+
while (gtk_events_pending ())
gtk_main_iteration ();
switch (event)
@@ -124,6 +125,7 @@ gfpm_progress_install (unsigned char event, char *pkgname, 
int percent, int howm
else
main_text = g_strdup (_("Checking package for file conflicts"));
break;
+               default: return;
}
gfpm_progress_set_main_text (main_text);
sub_text = g_strdup_printf ("(%d/%d) %s", remain, howmany, pkgname);
@@ -140,6 +142,9 @@ gfpm_progress_event (unsigned char event, void *data1, void 
*data2)
{
char *substr = NULL;
int m = 0;
+
+       if (data1 == NULL)
+               return;
while (gtk_events_pending ())
gtk_main_iteration ();
switch (event)
@@ -184,6 +189,7 @@ gfpm_progress_event (unsigned char event, void *data1, void 
*data2)
case PM_TRANS_EVT_RETRIEVE_START:       substr = g_strdup_printf (_("Retrieving 
packages from %s"), (char*)data1);
m = 1;
break;
+               default:                                return;
}
if (m == 1)
{
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to