diff options
author | Karel Miko <karel.miko@gmail.com> | 2018-10-26 19:55:14 +0200 |
---|---|---|
committer | Karel Miko <karel.miko@gmail.com> | 2018-10-26 19:55:14 +0200 |
commit | 1a455d625f7aef04487a0b8282764e9e7ce7d7c3 (patch) | |
tree | 9cd07cfa6637d8188bb6e493c5c4811243b9522d | |
parent | 0f9e9aa923257af7ab978fc449e900db6ec4f5de (diff) |
libtomcrypt fixes
-rw-r--r-- | src/ltc/misc/copy_or_zeromem.c | 3 | ||||
-rw-r--r-- | src/ltc/misc/padding/padding_depad.c | 2 | ||||
-rw-r--r-- | t/wycheproof.t | 6 |
3 files changed, 4 insertions, 7 deletions
diff --git a/src/ltc/misc/copy_or_zeromem.c b/src/ltc/misc/copy_or_zeromem.c index 447b2684..4e662cd7 100644 --- a/src/ltc/misc/copy_or_zeromem.c +++ b/src/ltc/misc/copy_or_zeromem.c @@ -29,7 +29,8 @@ void copy_or_zeromem(const unsigned char* src, unsigned char* dest, unsigned lon #endif unsigned char mask = 0xff; /* initialize mask at all ones */ - if (src == NULL || dest == NULL) return; + LTC_ARGCHKVD(src != NULL); + LTC_ARGCHKVD(dest != NULL); if (coz != 0) coz = 1; y = 0; diff --git a/src/ltc/misc/padding/padding_depad.c b/src/ltc/misc/padding/padding_depad.c index e02077fd..33353f96 100644 --- a/src/ltc/misc/padding/padding_depad.c +++ b/src/ltc/misc/padding/padding_depad.c @@ -36,7 +36,7 @@ int padding_depad(const unsigned char *data, unsigned long *length, unsigned lon if (type < LTC_PAD_ONE_AND_ZERO) { pad = data[padded_length - 1]; - if (pad > padded_length) return CRYPT_INVALID_ARG; + if (pad > padded_length || pad == 0) return CRYPT_INVALID_ARG; unpadded_length = padded_length - pad; } else { diff --git a/t/wycheproof.t b/t/wycheproof.t index 28aa1f98..2c3a5fea 100644 --- a/t/wycheproof.t +++ b/t/wycheproof.t @@ -117,11 +117,7 @@ if (1) { is(unpack("H*", $pt2), $t->{msg}, "$testname PT-v"); } elsif ($result eq 'invalid') { - SKIP: { - skip "ltc bug CBC/PAD", 1 if $comment eq "bit padding"; #XXX-FIXME - skip "ltc bug CBC/PAD", 1 if $comment eq "zero padding"; #XXX-FIXME - is($pt2, undef, "$testname PT-i"); - } + is($pt2, undef, "$testname PT-i"); } else { ok(0, "UNEXPECTED result=$result"); |