[gnome-keyring/trust-store] [gck] Fix crash in enumerator when C_FindObjects fails.



commit 80c122631ab04fc1e3444a8d4197c97a694c1a85
Author: Stef Walter <stefw collabora co uk>
Date:   Mon Nov 29 22:22:39 2010 +0000

    [gck] Fix crash in enumerator when C_FindObjects fails.
    
    If C_FindObjects failed when used in a gck_enumerate_xxx()
    and friends, then we would crash.

 gck/gck-enumerator.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
---
diff --git a/gck/gck-enumerator.c b/gck/gck-enumerator.c
index 682a8b1..781dd90 100644
--- a/gck/gck-enumerator.c
+++ b/gck/gck-enumerator.c
@@ -409,10 +409,9 @@ state_authenticated (GckEnumeratorState *args, gboolean forward)
 	rv = (funcs->C_FindObjectsInit) (session, attrs, n_attrs);
 
 	if (rv == CKR_OK) {
-		while (rv == CKR_OK) {
+		for(;;) {
 			rv = (funcs->C_FindObjects) (session, objects, G_N_ELEMENTS (objects), &count);
-
-			if (count == 0)
+			if (rv != CKR_OK || count == 0)
 				break;
 
 			if (!args->objects)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]