projects
/
oweals
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9e6857a
)
ASN1 sanity check.
author
Dr. Stephen Henson
<steve@openssl.org>
Tue, 1 Jul 2014 23:57:57 +0000
(
00:57
+0100)
committer
Dr. Stephen Henson
<steve@openssl.org>
Wed, 2 Jul 2014 00:01:55 +0000
(
01:01
+0100)
Primitive encodings shouldn't use indefinite length constructed
form.
PR#2438 (partial).
(cherry picked from commit
398e99fe5e06edb11f55a39ce0883d9aa633ffa9
)
crypto/asn1/asn1_lib.c
patch
|
blob
|
history
diff --git
a/crypto/asn1/asn1_lib.c
b/crypto/asn1/asn1_lib.c
index 5af559ef8da70c5b24da7e620c28f17e6d9a05b9..d34515577e6eb8226d1d25748a28f9f112e1ffba 100644
(file)
--- a/
crypto/asn1/asn1_lib.c
+++ b/
crypto/asn1/asn1_lib.c
@@
-131,6
+131,9
@@
int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
*pclass=xclass;
if (!asn1_get_length(&p,&inf,plength,(int)max)) goto err;
+ if (inf && !(ret & V_ASN1_CONSTRUCTED))
+ goto err;
+
#if 0
fprintf(stderr,"p=%d + *plength=%ld > omax=%ld + *pp=%d (%d > %d)\n",
(int)p,*plength,omax,(int)*pp,(int)(p+ *plength),