diff options
author | markus <> | 2003-09-30 15:19:38 +0000 |
---|---|---|
committer | markus <> | 2003-09-30 15:19:38 +0000 |
commit | 5e59d119ef27ac38b6179a37b15c3e59d463b3e3 (patch) | |
tree | fb8eb71906e1bcebd219cf7843af3d4d8a6a2d19 /src/lib/libcrypto/asn1/asn1_lib.c | |
parent | 46d14e519df20470f3dae87cf64e3c915b35b03d (diff) | |
download | openbsd-5e59d119ef27ac38b6179a37b15c3e59d463b3e3.tar.gz openbsd-5e59d119ef27ac38b6179a37b15c3e59d463b3e3.tar.bz2 openbsd-5e59d119ef27ac38b6179a37b15c3e59d463b3e3.zip |
security fix from http://www.openssl.org/news/secadv_20030930.txt
see also http://cvs.openssl.org/chngview?cn=11471
Diffstat (limited to 'src/lib/libcrypto/asn1/asn1_lib.c')
-rw-r--r-- | src/lib/libcrypto/asn1/asn1_lib.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/libcrypto/asn1/asn1_lib.c b/src/lib/libcrypto/asn1/asn1_lib.c index 60f36bb958..aed2895400 100644 --- a/src/lib/libcrypto/asn1/asn1_lib.c +++ b/src/lib/libcrypto/asn1/asn1_lib.c | |||
@@ -104,10 +104,12 @@ int ASN1_get_object(unsigned char **pp, long *plength, int *ptag, int *pclass, | |||
104 | l<<=7L; | 104 | l<<=7L; |
105 | l|= *(p++)&0x7f; | 105 | l|= *(p++)&0x7f; |
106 | if (--max == 0) goto err; | 106 | if (--max == 0) goto err; |
107 | if (l > (INT_MAX >> 7L)) goto err; | ||
107 | } | 108 | } |
108 | l<<=7L; | 109 | l<<=7L; |
109 | l|= *(p++)&0x7f; | 110 | l|= *(p++)&0x7f; |
110 | tag=(int)l; | 111 | tag=(int)l; |
112 | if (--max == 0) goto err; | ||
111 | } | 113 | } |
112 | else | 114 | else |
113 | { | 115 | { |