tpm2: force set SPS size to primary seed len on regeneration

Make sure that TPM2_Clear sets SPS into correct, random value.

BUG=b:309557096
TEST=make

Change-Id: I06238bc8efcfc09d9f8ab79df7d25ab1e9884c06
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/tpm2/+/5187490
Commit-Queue: Andrey Pronin <apronin@chromium.org>
Auto-Submit: Vadim Sukhomlinov <sukhomlinov@google.com>
Reviewed-by: Vadim Sukhomlinov <sukhomlinov@google.com>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Commit-Queue: Vadim Sukhomlinov <sukhomlinov@google.com>
Code-Coverage: Vadim Sukhomlinov <sukhomlinov@google.com>
Tested-by: Vadim Sukhomlinov <sukhomlinov@google.com>
diff --git a/Clear.c b/Clear.c
index fcab071..e7b7e91 100644
--- a/Clear.c
+++ b/Clear.c
@@ -38,10 +38,13 @@
 // Internal Data Update
 
    // Reset storage hierarchy seed from RNG
+   gp.SPSeed.t.size = PRIMARY_SEED_SIZE;
    CryptGenerateRandom(PRIMARY_SEED_SIZE, gp.SPSeed.t.buffer);
 
    // Create new shProof and ehProof value from RNG
+   gp.shProof.t.size = PROOF_SIZE;
    CryptGenerateRandom(PROOF_SIZE, gp.shProof.t.buffer);
+   gp.ehProof.t.size= PROOF_SIZE;
    CryptGenerateRandom(PROOF_SIZE, gp.ehProof.t.buffer);
 
    // Enable storage and endorsement hierarchy