@@ -756,16 +756,6 @@ func invalidSubtreeConsistencyProof(end, size uint64, root1, root2 []byte, proof
756756 ret = append (ret , subtreeConsistencyProbe {0 , end , size , root1 , root2 , wrongProof , desc , true })
757757 }
758758
759- ret = append (ret , subtreeConsistencyProbe {
760- Start : 1 ,
761- End : 15 ,
762- Size : 15 ,
763- Root1 : root1 ,
764- Root2 : root2 ,
765- Proof : proof ,
766- Desc : "invalid subtree" ,
767- WantError : true ,
768- })
769759 return ret
770760}
771761
@@ -794,6 +784,11 @@ func staticSubtreeConsistencyProbes(dir string) error {
794784 {1 , 1 , 2 , sha256EmptyTreeHash , sha256EmptyTreeHash , proof1 , "subtree is empty subtree root valid tree root random proof is empty" , false },
795785 {1 , 1 , 2 , sha256EmptyTreeHash , sha256EmptyTreeHash , proof2 , "subtree is empty roots valid but proof is not empty" , true },
796786 {1 , 1 , 2 , root1 , root1 , proof1 , "subtree is empty roots match but not valid" , true },
787+ // Invalid subtree boundaries (not a multiple of power of 2 >= end - start).
788+ {1 , 15 , 15 , root1 , root2 , proof1 , "invalid subtree start 1 end 15 size 15" , true },
789+ {1 , 3 , 8 , root1 , root2 , proof1 , "invalid subtree start 1 end 3 size 8" , true },
790+ {2 , 5 , 8 , root1 , root2 , proof1 , "invalid subtree start 2 end 5 size 8" , true },
791+ {2 , 6 , 8 , root1 , root2 , proof1 , "invalid subtree start 2 end 6 size 8" , true },
797792 // Time travel to the past.
798793 {0 , 1 , 0 , root1 , root2 , proof1 , "size1 is greater than size2" , true },
799794 {0 , 2 , 1 , root1 , root2 , proof1 , "size1 is greater than size2 again" , true },
0 commit comments