53 lines
1.5 KiB
Diff
53 lines
1.5 KiB
Diff
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);
|