mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
Fix get_num_ops internal code.
Previously calling get_num_ops more than once would have ended up with ops getting double counted, and not calling inbetween completes would have ended up with ops getting missed. Fix this by moving this to where the work is actually done, and add tests for double calls to get_num_ops(). Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
@ -6546,6 +6546,12 @@ void sign_hash_interruptible(int key_type_arg, data_t *key_data,
|
||||
TEST_ASSERT(num_ops > num_ops_prior);
|
||||
|
||||
num_ops_prior = num_ops;
|
||||
|
||||
/* Ensure calling get_num_ops() twice still returns the same
|
||||
* number of ops as previously reported. */
|
||||
num_ops = psa_sign_hash_get_num_ops(&operation);
|
||||
|
||||
TEST_EQUAL(num_ops, num_ops_prior);
|
||||
}
|
||||
} while (status == PSA_OPERATION_INCOMPLETE);
|
||||
|
||||
@ -7037,6 +7043,12 @@ void verify_hash_interruptible(int key_type_arg, data_t *key_data,
|
||||
TEST_ASSERT(num_ops > num_ops_prior);
|
||||
|
||||
num_ops_prior = num_ops;
|
||||
|
||||
/* Ensure calling get_num_ops() twice still returns the same
|
||||
* number of ops as previously reported. */
|
||||
num_ops = psa_verify_hash_get_num_ops(&operation);
|
||||
|
||||
TEST_EQUAL(num_ops, num_ops_prior);
|
||||
}
|
||||
} while (status == PSA_OPERATION_INCOMPLETE);
|
||||
|
||||
|
Reference in New Issue
Block a user