aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ossl_pkey.c6
-rw-r--r--ossl_x509.h2
-rw-r--r--ossl_x509cert.c16
-rw-r--r--ossl_x509crl.c10
-rw-r--r--ossl_x509name.c9
-rw-r--r--ossl_x509req.c15
7 files changed, 19 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog
index 4122511..56b09cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,13 @@ ChangeLog for
### CHANGE LOG ###
+Wed, 12 Jun 2002 22:58:53 +0200 -- Michal Rokos <m.rokos@sh.cvut.cz>
+ * x509name.c: drop ossl_x509name_get_X509_NAME
+ * x509name.c: introduce GetX509NamePtr; and use it instead ossl_x509name_get_X509_NAME
+
+Wed, 12 Jun 2002 22:41:38 +0200 -- Michal Rokos <m.rokos@sh.cvut.cz>
+ * pkey.c: fix mem. bug in new_from_file
+
Wed, 12 Jun 2002 20:45:32 +0200 -- Michal Rokos <m.rokos@sh.cvut.cz>
* openssl_missing.c: fixup HMAC_CTX_copy
* tc_hmac.rb: NEW (TestCase for HMAC)
diff --git a/ossl_pkey.c b/ossl_pkey.c
index aefd6c1..3945b13 100644
--- a/ossl_pkey.c
+++ b/ossl_pkey.c
@@ -51,7 +51,6 @@ ossl_pkey_new_from_file(VALUE filename)
{
FILE *fp;
EVP_PKEY *pkey;
- VALUE obj;
SafeStringValue(filename);
@@ -67,10 +66,7 @@ ossl_pkey_new_from_file(VALUE filename)
if (!pkey) {
ossl_raise(ePKeyError, "");
}
- obj = ossl_pkey_new(pkey);
- EVP_PKEY_free(pkey);
-
- return obj;
+ return ossl_pkey_new(pkey);
}
EVP_PKEY *
diff --git a/ossl_x509.h b/ossl_x509.h
index 7a59a75..dad88f1 100644
--- a/ossl_x509.h
+++ b/ossl_x509.h
@@ -67,7 +67,7 @@ extern VALUE cX509Name;
extern VALUE eX509NameError;
VALUE ossl_x509name_new(X509_NAME *);
-X509_NAME *ossl_x509name_get_X509_NAME(VALUE);
+X509_NAME *GetX509NamePtr(VALUE);
void Init_ossl_x509name(void);
/*
diff --git a/ossl_x509cert.c b/ossl_x509cert.c
index b193990..54ce383 100644
--- a/ossl_x509cert.c
+++ b/ossl_x509cert.c
@@ -319,18 +319,12 @@ static VALUE
ossl_x509_set_subject(VALUE self, VALUE subject)
{
X509 *x509;
- X509_NAME *name;
GetX509(self, x509);
- name = ossl_x509name_get_X509_NAME(subject);
-
- if (!X509_set_subject_name(x509, name)) { /* DUPs name - FREE it */
- X509_NAME_free(name);
+ if (!X509_set_subject_name(x509, GetX509NamePtr(subject))) { /* DUPs name */
ossl_raise(eX509CertError, "");
}
- X509_NAME_free(name);
-
return subject;
}
@@ -352,18 +346,12 @@ static VALUE
ossl_x509_set_issuer(VALUE self, VALUE issuer)
{
X509 *x509;
- X509_NAME *name;
GetX509(self, x509);
- name = ossl_x509name_get_X509_NAME(issuer);
-
- if (!X509_set_issuer_name(x509, name)) { /* DUPs name - FREE it */
- X509_NAME_free(name);
+ if (!X509_set_issuer_name(x509, GetX509NamePtr(issuer))) { /* DUPs name */
ossl_raise(eX509CertError, "");
}
- X509_NAME_free(name);
-
return issuer;
}
diff --git a/ossl_x509crl.c b/ossl_x509crl.c
index 7c5f71b..b1b7908 100644
--- a/ossl_x509crl.c
+++ b/ossl_x509crl.c
@@ -137,25 +137,19 @@ ossl_x509crl_get_issuer(VALUE self)
GetX509CRL(self, crl);
- return ossl_x509name_new(crl->crl->issuer);
+ return ossl_x509name_new(X509_CRL_get_issuer(crl)); /* NO DUP - don't free */
}
static VALUE
ossl_x509crl_set_issuer(VALUE self, VALUE issuer)
{
X509_CRL *crl;
- X509_NAME *name;
GetX509CRL(self, crl);
- name = ossl_x509name_get_X509_NAME(issuer);
-
- if (!X509_NAME_set(&(crl->crl->issuer), name)) { /* DUPs name - FREE it */
- X509_NAME_free(name);
+ if (!X509_CRL_set_issuer_name(crl, GetX509NamePtr(issuer))) { /* DUPs name */
ossl_raise(eX509CRLError, "");
}
- X509_NAME_free(name);
-
return issuer;
}
diff --git a/ossl_x509name.c b/ossl_x509name.c
index 49626b3..c6b6fd4 100644
--- a/ossl_x509name.c
+++ b/ossl_x509name.c
@@ -57,16 +57,13 @@ ossl_x509name_new(X509_NAME *name)
}
X509_NAME *
-ossl_x509name_get_X509_NAME(VALUE obj)
+GetX509NamePtr(VALUE obj)
{
- X509_NAME *name, *new;
+ X509_NAME *name;
SafeGetX509Name(obj, name);
- if (!(new = X509_NAME_dup(name))) {
- ossl_raise(eX509NameError, "");
- }
- return new;
+ return name;
}
/*
diff --git a/ossl_x509req.c b/ossl_x509req.c
index 5f23fa5..1e70fce 100644
--- a/ossl_x509req.c
+++ b/ossl_x509req.c
@@ -212,34 +212,25 @@ ossl_x509req_get_subject(VALUE self)
{
X509_REQ *req;
X509_NAME *name;
- VALUE subject;
GetX509Req(self, req);
- if (!(name = X509_REQ_get_subject_name(req))) {
+ if (!(name = X509_REQ_get_subject_name(req))) { /* NO DUP - don't free */
ossl_raise(eX509ReqError, "");
}
- subject = ossl_x509name_new(name);
- /*X509_NAME_free(name);*/
-
- return subject;
+ return ossl_x509name_new(name);
}
static VALUE
ossl_x509req_set_subject(VALUE self, VALUE subject)
{
X509_REQ *req;
- X509_NAME *name;
GetX509Req(self, req);
- name = ossl_x509name_get_X509_NAME(subject);
-
- if (!X509_REQ_set_subject_name(req, name)) {
+ if (!X509_REQ_set_subject_name(req, GetX509NamePtr(subject))) { /* DUPs name */
ossl_raise(eX509ReqError, "");
}
- /*X509_NAME_free(name);*/
-
return subject;
}