Warmcat homepage andy@warmcat.com
libwebsockets
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1756320569, "reponame":"openssl", "desc":"OpenSSL", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://warmcat.com/repo/openssl", "f":3, "items": [ {"schema":"libjg2-1", "cid":"212554c7ee7dbcd8b957ba279c387582", "commit": {"type":"commit", "time": 1459789371, "time_ofs": 120, "oid_tree": { "oid": "dfe58a627a2d91d9b248144beea9bdc90ca60dfb", "alias": []}, "oid":{ "oid": "0517538d1a39bc5eb664928a6c40b4a0afad01da", "alias": []}, "msg": "Fix two leaks in X509_REQ_to_X509", "sig_commit": { "git_time": { "time": 1459789371, "offset": 120 }, "name": "FdaSilvaYY", "email": "fdasilvayy@gmail.com", "md5": "aa048db1fe1abb73416dee77b8d18f7f" }, "sig_author": { "git_time": { "time": 1458170148, "offset": 60 }, "name": "FdaSilvaYY", "email": "fdasilvayy@gmail.com", "md5": "aa048db1fe1abb73416dee77b8d18f7f" }}, "body": "Fix two leaks in X509_REQ_to_X509\n\nIssue #182\n\nReviewed-by: Stephen Henson \u003csteve@openssl.org\u003e\nReviewed-by: Rich Salz \u003crsalz@openssl.org\u003e\n" , "diff": "diff --git a/crypto/x509/x509_r2x.c b/crypto/x509/x509_r2x.c\nindex a6c5941..dc7e412 100644\n--- a/crypto/x509/x509_r2x.c\n+++ b/crypto/x509/x509_r2x.c\n@@ -70,10 +70,11 @@ X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey)\n X509 *ret \u003d NULL;\n X509_CINF *xi \u003d NULL;\n X509_NAME *xn;\n+ EVP_PKEY *pubkey \u003d NULL;\n \n if ((ret \u003d X509_new()) \u003d\u003d NULL) {\n X509err(X509_F_X509_REQ_TO_X509, ERR_R_MALLOC_FAILURE);\n- goto err;\n+ return NULL;\n }\n \n /* duplicate the request */\n@@ -89,9 +90,9 @@ X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey)\n }\n \n xn \u003d X509_REQ_get_subject_name(r);\n- if (X509_set_subject_name(ret, X509_NAME_dup(xn)) \u003d\u003d 0)\n+ if (X509_set_subject_name(ret, xn) \u003d\u003d 0)\n goto err;\n- if (X509_set_issuer_name(ret, X509_NAME_dup(xn)) \u003d\u003d 0)\n+ if (X509_set_issuer_name(ret, xn) \u003d\u003d 0)\n goto err;\n \n if (X509_gmtime_adj(xi-\u003evalidity.notBefore, 0) \u003d\u003d NULL)\n@@ -100,12 +101,21 @@ X509 *X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey)\n NULL)\n goto err;\n \n- X509_set_pubkey(ret, X509_REQ_get_pubkey(r));\n+ pubkey \u003d X509_REQ_get_pubkey(r);\n+ if (pubkey \u003d\u003d NULL)\n+ goto err;\n+\n+ if (!X509_set_pubkey(ret, pubkey))\n+ goto err_pkey;\n+\n+ EVP_PKEY_free(pubkey);\n \n if (!X509_sign(ret, pkey, EVP_md5()))\n goto err;\n return ret;\n \n+ err_pkey:\n+ EVP_PKEY_free(pubkey);\n err:\n X509_free(ret);\n return NULL;\n","s":{"c":1756320569,"u": 2567}} ],"g": 3991,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}