patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
31 lines
927 B
Diff
31 lines
927 B
Diff
Index: crypto/openssl/crypto/rsa/rsa_sign.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/crypto/openssl/crypto/rsa/rsa_sign.c,v
|
|
retrieving revision 1.1.1.7
|
|
diff -u -I__FBSDID -r1.1.1.7 rsa_sign.c
|
|
--- crypto/openssl/crypto/rsa/rsa_sign.c 29 Jul 2006 19:10:19 -0000 1.1.1.7
|
|
+++ crypto/openssl/crypto/rsa/rsa_sign.c 6 Sep 2006 15:37:11 -0000
|
|
@@ -185,6 +185,23 @@
|
|
sig=d2i_X509_SIG(NULL,&p,(long)i);
|
|
|
|
if (sig == NULL) goto err;
|
|
+
|
|
+ /* Excess data can be used to create forgeries */
|
|
+ if(p != s+i)
|
|
+ {
|
|
+ RSAerr(RSA_F_RSA_VERIFY,RSA_R_BAD_SIGNATURE);
|
|
+ goto err;
|
|
+ }
|
|
+
|
|
+ /* Parameters to the signature algorithm can also be used to
|
|
+ create forgeries */
|
|
+ if(sig->algor->parameter
|
|
+ && sig->algor->parameter->type != V_ASN1_NULL)
|
|
+ {
|
|
+ RSAerr(RSA_F_RSA_VERIFY,RSA_R_BAD_SIGNATURE);
|
|
+ goto err;
|
|
+ }
|
|
+
|
|
sigtype=OBJ_obj2nid(sig->algor->algorithm);
|
|
|
|
|