X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Fd2i_r_pu.c;h=9e5d41cf5318e18b1d0c12e7558f773aeb05c258;hb=9ef9e78520eba0fb3d92b581dc4f895a5f464387;hp=0febef6b36d9a831a7c7dc99b691c54a18f455ae;hpb=d02b48c63a58ea4367a0e905979f140b7d090f86;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/d2i_r_pu.c b/crypto/asn1/d2i_r_pu.c index 0febef6b36..9e5d41cf53 100644 --- a/crypto/asn1/d2i_r_pu.c +++ b/crypto/asn1/d2i_r_pu.c @@ -1,5 +1,5 @@ /* crypto/asn1/d2i_r_pu.c */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written @@ -56,22 +56,19 @@ * [including the GNU Public Licence.] */ +#ifndef NO_RSA #include #include "cryptlib.h" -#include "bn.h" -#include "rsa.h" -#include "objects.h" -#include "asn1_mac.h" +#include +#include +#include +#include -/* - * ASN1err(ASN1_F_D2I_RSAPUBLICKEY,ASN1_R_LENGTH_MISMATCH); - * ASN1err(ASN1_F_I2D_RSAPUBLICKEY,ASN1_R_UNKNOWN_ATTRIBUTE_TYPE); - */ +#ifndef NO_NEG_PUBKEY_BUG +#define d2i_ASN1_INTEGER d2i_ASN1_UINTEGER +#endif -RSA *d2i_RSAPublicKey(a,pp,length) -RSA **a; -unsigned char **pp; -long length; +RSA *d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length) { int i=ASN1_R_PARSING; ASN1_INTEGER *bs=NULL; @@ -84,7 +81,7 @@ long length; M_ASN1_D2I_get(bs,d2i_ASN1_INTEGER); if ((ret->e=BN_bin2bn(bs->data,bs->length,ret->e)) == NULL) goto err_bn; - ASN1_INTEGER_free(bs); + M_ASN1_INTEGER_free(bs); bs=NULL; M_ASN1_D2I_Finish_2(a); @@ -94,7 +91,13 @@ err_bn: err: ASN1err(ASN1_F_D2I_RSAPUBLICKEY,i); if ((ret != NULL) && ((a == NULL) || (*a != ret))) RSA_free(ret); - if (bs != NULL) ASN1_INTEGER_free(bs); + if (bs != NULL) M_ASN1_INTEGER_free(bs); return(NULL); } +#else /* !NO_RSA */ + +# if PEDANTIC +static void *dummy=&dummy; +# endif +#endif