aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagendra modadugu <ngm@google.com>2017-10-26 10:15:37 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-10-26 17:23:37 -0700
commit0f114d2d7eb1950faab02fe479864da5e5d50414 (patch)
treef4b9ff8cddc95379473e742cd947ffbe5f7fa912
parentcb2de5a810df1898cd3ae47d517603b8b12371c0 (diff)
downloadtpm2-0f114d2d7eb1950faab02fe479864da5e5d50414.tar.gz
[oss-fuzz] fix clang compiler error
Fix size_t compare with < 0 in CpriMisc.c Issue reported here: https://github.com/google/oss-fuzz/issues/859 Change-Id: I908c674f11d16bf9a795fe0c9e5c0fd0b467b1dc Reviewed-on: https://chromium-review.googlesource.com/739946 Commit-Ready: Nagendra Modadugu <ngm@google.com> Tested-by: Nagendra Modadugu <ngm@google.com> Reviewed-by: Andrey Pronin <apronin@chromium.org>
-rw-r--r--CpriMisc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/CpriMisc.c b/CpriMisc.c
index e809dce..edc5c4b 100644
--- a/CpriMisc.c
+++ b/CpriMisc.c
@@ -29,10 +29,12 @@ BnTo2B(
)
{
BYTE *pb = outVal->buffer;
+ UINT16 unpaddedSize = (((UINT16) BN_num_bits(inVal) + 7) / 8);
outVal->size = size;
- size = size - (((UINT16) BN_num_bits(inVal) + 7) / 8);
- if(size < 0)
+ if(size < unpaddedSize)
return FALSE;
+
+ size -= unpaddedSize;
for(;size > 0; size--)
*pb++ = 0;
BN_bn2bin(inVal, pb);