diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-22 12:17:10 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-22 12:17:10 +0200 |
commit | b3913f05e1f007ec27fcfa67d41e5e7d53edfa55 (patch) | |
tree | 3b6bb6d0f417c6ebafed3c87a4482b46b5b86482 /security/nss/lib/util/quickder.c | |
parent | 66e0de95f068468098e7dd5cc95ee76c96413b1d (diff) | |
download | UXP-b3913f05e1f007ec27fcfa67d41e5e7d53edfa55.tar UXP-b3913f05e1f007ec27fcfa67d41e5e7d53edfa55.tar.gz UXP-b3913f05e1f007ec27fcfa67d41e5e7d53edfa55.tar.lz UXP-b3913f05e1f007ec27fcfa67d41e5e7d53edfa55.tar.xz UXP-b3913f05e1f007ec27fcfa67d41e5e7d53edfa55.zip |
Update NSS to 3.41.2 (custom)
Diffstat (limited to 'security/nss/lib/util/quickder.c')
-rw-r--r-- | security/nss/lib/util/quickder.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/security/nss/lib/util/quickder.c b/security/nss/lib/util/quickder.c index 7a6ac1c53..70ae42b27 100644 --- a/security/nss/lib/util/quickder.c +++ b/security/nss/lib/util/quickder.c @@ -757,6 +757,13 @@ DecodeItem(void* dest, } case SEC_ASN1_BIT_STRING: { + /* Can't be 8 or more spare bits, or any spare bits + * if there are no octets. */ + if (temp.data[0] >= 8 || (temp.data[0] > 0 && temp.len == 1)) { + PORT_SetError(SEC_ERROR_BAD_DER); + rv = SECFailure; + break; + } /* change the length in the SECItem to be the number of bits */ temp.len = (temp.len - 1) * 8 - (temp.data[0] & 0x7); |