From 9101b00ed29145bde5b816889544eed4638f0925 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Mon, 18 Mar 2013 17:36:38 +0100 Subject: logsig: fix calculation of merkle tree at end of signature block --- runtime/librsgt.c | 2 +- runtime/librsgt_read.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/librsgt.c b/runtime/librsgt.c index 92b0d412..20c8fd79 100644 --- a/runtime/librsgt.c +++ b/runtime/librsgt.c @@ -649,7 +649,7 @@ sigblkFinish(gtfile gf) root = NULL; for(j = 0 ; j < gf->nRoots ; ++j) { if(root == NULL) { - root = gf->roots_hash[j]; + root = gf->roots_valid[j] ? gf->roots_hash[j] : NULL; gf->roots_valid[j] = 0; /* guess this is redundant with init, maybe del */ } else if(gf->roots_valid[j]) { rootDel = root; diff --git a/runtime/librsgt_read.c b/runtime/librsgt_read.c index 0cc5f492..32a62c65 100644 --- a/runtime/librsgt_read.c +++ b/runtime/librsgt_read.c @@ -744,7 +744,7 @@ verifySigblkFinish(gtfile gf) root = NULL; for(j = 0 ; j < gf->nRoots ; ++j) { if(root == NULL) { - root = gf->roots_hash[j]; + root = gf->roots_valid[j] ? gf->roots_hash[j] : NULL; gf->roots_valid[j] = 0; /* guess this is redundant with init, maybe del */ } else if(gf->roots_valid[j]) { rootDel = root; -- cgit v1.2.3