Skip to content

Commit b412c3f

Browse files
committed
Correct assigns contract for lopp in ctcc() function. Proof now OK.
Signed-off-by: Rod Chapman <[email protected]>
1 parent 9ade1f7 commit b412c3f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arrays/ar.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ int ctcc(uint8_t *dst, const uint8_t *src, uint32_t len, uint8_t dont)
207207
__CPROVER_assert(mask == (dont == 0 ? 0xff : 0x00), "prove mask set correctly");
208208

209209
for (size_t i = 0; i < len; i++)
210-
__CPROVER_assigns(i, dst)
210+
__CPROVER_assigns(i, __CPROVER_object_whole(dst))
211211
__CPROVER_loop_invariant(i <= len)
212212
__CPROVER_loop_invariant(__CPROVER_forall { size_t j; (0 <= j && j < i) ==> dst[j] == (dont == 0 ? src[j] : __CPROVER_loop_entry(dst)[j]) })
213213
{

0 commit comments

Comments
 (0)