summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/asn1_lib.c
diff options
context:
space:
mode:
authormarkus <>2003-09-30 15:19:38 +0000
committermarkus <>2003-09-30 15:19:38 +0000
commit5e59d119ef27ac38b6179a37b15c3e59d463b3e3 (patch)
treefb8eb71906e1bcebd219cf7843af3d4d8a6a2d19 /src/lib/libcrypto/asn1/asn1_lib.c
parent46d14e519df20470f3dae87cf64e3c915b35b03d (diff)
downloadopenbsd-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.c2
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 {