projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make sure that bs is not getting free'd again.
[openssl.git]
/
crypto
/
asn1
/
d2i_s_pr.c
diff --git
a/crypto/asn1/d2i_s_pr.c
b/crypto/asn1/d2i_s_pr.c
index cf64a2edadd52b63c55c4d16d72a5af99d19b69b..55d5802d702f220cb97fb225b88fab8093ddb95b 100644
(file)
--- a/
crypto/asn1/d2i_s_pr.c
+++ b/
crypto/asn1/d2i_s_pr.c
@@
-58,6
+58,7
@@
/* Original version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
/* Original version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
+#ifndef NO_DSA
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
#include <stdio.h>
#include "cryptlib.h"
#include <openssl/bn.h>
@@
-90,7
+91,8
@@
DSA *d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length)
if ((ret->priv_key=BN_bin2bn(bs->data,bs->length,ret->priv_key))
== NULL) goto err_bn;
if ((ret->priv_key=BN_bin2bn(bs->data,bs->length,ret->priv_key))
== NULL) goto err_bn;
- ASN1_INTEGER_free(bs);
+ M_ASN1_INTEGER_free(bs);
+ bs = NULL;
M_ASN1_D2I_Finish_2(a);
err_bn:
M_ASN1_D2I_Finish_2(a);
err_bn:
@@
-98,7
+100,7
@@
err_bn:
err:
ASN1err(ASN1_F_D2I_DSAPRIVATEKEY,i);
if ((ret != NULL) && ((a == NULL) || (*a != ret))) DSA_free(ret);
err:
ASN1err(ASN1_F_D2I_DSAPRIVATEKEY,i);
if ((ret != NULL) && ((a == NULL) || (*a != ret))) DSA_free(ret);
- if (bs != NULL) ASN1_INTEGER_free(bs);
+ if (bs != NULL)
M_
ASN1_INTEGER_free(bs);
return(NULL);
}
return(NULL);
}
-
+#endif