Blob Blame History Raw
commit 79ace3ef67c14b435b2c0d8330aaa7a8774b482c
Author: Richard Hughes <richard@hughsie.com>
Date:   Mon Apr 6 17:12:33 2009 +0100

    bugfix: pk_package_ids_check is not valid when the packageids array is zero length

diff --git a/lib/packagekit-glib/pk-package-ids.c b/lib/packagekit-glib/pk-package-ids.c
index e4a39be..623fff5 100644
--- a/lib/packagekit-glib/pk-package-ids.c
+++ b/lib/packagekit-glib/pk-package-ids.c
@@ -114,7 +114,7 @@ pk_package_ids_check (gchar **package_ids)
 {
 	guint i;
 	guint size;
-	gboolean ret;
+	gboolean ret = FALSE;
 	const gchar *package_id;
 
 	g_return_val_if_fail (package_ids != NULL, FALSE);
@@ -125,9 +125,10 @@ pk_package_ids_check (gchar **package_ids)
 		package_id = package_ids[i];
 		ret = pk_package_id_check (package_id);
 		if (!ret)
-			return FALSE;
+			goto out;
 	}
-	return TRUE;
+out:
+	return ret;
 }
 
 /**
@@ -214,6 +215,7 @@ void
 pk_package_ids_test (EggTest *test)
 {
 	gboolean ret;
+	gchar *package_ids_blank[] = {};
 	gchar **package_ids;
 	guint size;
 
@@ -234,6 +236,11 @@ pk_package_ids_test (EggTest *test)
 	egg_test_assert (test, size == 2);
 
 	/************************************************************/
+	egg_test_title (test, "verify blank");
+	ret = pk_package_ids_check (package_ids_blank);
+	egg_test_assert (test, !ret);
+
+	/************************************************************/
 	egg_test_title (test, "verify");
 	ret = pk_package_ids_check (package_ids);
 	egg_test_assert (test, ret);