diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ossl_pkey.c | 6 | ||||
-rw-r--r-- | ossl_x509.h | 2 | ||||
-rw-r--r-- | ossl_x509cert.c | 16 | ||||
-rw-r--r-- | ossl_x509crl.c | 10 | ||||
-rw-r--r-- | ossl_x509name.c | 9 | ||||
-rw-r--r-- | ossl_x509req.c | 15 |
7 files changed, 19 insertions, 46 deletions
@@ -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; } |