summaryrefslogtreecommitdiff
path: root/trust
diff options
context:
space:
mode:
Diffstat (limited to 'trust')
-rw-r--r--trust/index.c2
-rw-r--r--trust/tests/test-index.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/trust/index.c b/trust/index.c
index 6e9a46c..1275cd9 100644
--- a/trust/index.c
+++ b/trust/index.c
@@ -648,7 +648,7 @@ index_select (p11_index *index,
for (j = 1; j < num; j++) {
assert (buckets[j]->elem); /* checked above */
at = binary_search (buckets[j]->elem, 0, buckets[j]->num, handle);
- if (buckets[j]->elem[at] != handle) {
+ if (at >= buckets[j]->num || buckets[j]->elem[at] != handle) {
handle = 0;
break;
}
diff --git a/trust/tests/test-index.c b/trust/tests/test-index.c
index 3cda272..d58a510 100644
--- a/trust/tests/test-index.c
+++ b/trust/tests/test-index.c
@@ -539,6 +539,8 @@ test_find_all (CuTest *tc)
free (check);
/* A double check of this method */
+ one = 0UL;
+ check = &one;
CuAssertTrue (tc, !handles_are (check, 29292929, 0UL));
CuAssertTrue (tc, !handles_are (NULL, 0UL));