diff options
author | Dongsun Lee <ds73.lee@samsung.com> | 2016-09-26 14:27:31 +0900 |
---|---|---|
committer | Dongsun Lee <ds73.lee@samsung.com> | 2016-09-26 14:27:31 +0900 |
commit | a213d701e675e51d5efc03c19e402d174f483f4c (patch) | |
tree | 90a1ba41072aa91234501613f0ea2d67be89aa27 /engines/e_capi.c | |
parent | 86af5cfd9400698182796f3c5a2dc6334f1feb9e (diff) | |
parent | 00fa4cfde370fcd893adae30169ec00d51381581 (diff) | |
download | openssl-a213d701e675e51d5efc03c19e402d174f483f4c.tar.gz openssl-a213d701e675e51d5efc03c19e402d174f483f4c.tar.bz2 openssl-a213d701e675e51d5efc03c19e402d174f483f4c.zip |
Merge tag 'upstream/1.0.2i' into tizen_basesubmit/tizen_base/20160926.081001accepted/tizen/base/20161001.020340tizen_3.0
Change-Id: I16b1811518d680619ab815e05e75a8c83bc8d0dc
Signed-off-by: Dongsun Lee <ds73.lee@samsung.com>
Diffstat (limited to 'engines/e_capi.c')
-rw-r--r-- | engines/e_capi.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/e_capi.c b/engines/e_capi.c index 6e52463..8c08872 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -1106,6 +1106,10 @@ static int capi_get_provname(CAPI_CTX * ctx, LPSTR * pname, DWORD * ptype, name = alloca(len); else name = OPENSSL_malloc(len); + if (name == NULL) { + CAPIerr(CAPI_F_CAPI_GET_PROVNAME, ERR_R_MALLOC_FAILURE); + return 0; + } if (!CryptEnumProviders(idx, NULL, 0, ptype, name, &len)) { err = GetLastError(); if (err == ERROR_NO_MORE_ITEMS) @@ -1286,6 +1290,10 @@ char *capi_cert_get_fname(CAPI_CTX * ctx, PCCERT_CONTEXT cert) (cert, CERT_FRIENDLY_NAME_PROP_ID, NULL, &dlen)) return NULL; wfname = OPENSSL_malloc(dlen); + if (wfname == NULL) { + CAPIerr(CAPI_F_CAPI_CERT_GET_FNAME, ERR_R_MALLOC_FAILURE); + return NULL; + } if (CertGetCertificateContextProperty (cert, CERT_FRIENDLY_NAME_PROP_ID, wfname, &dlen)) { char *fname = wide_to_asc(wfname); @@ -1436,6 +1444,11 @@ static CAPI_KEY *capi_get_key(CAPI_CTX * ctx, const TCHAR *contname, CAPI_KEY *key; DWORD dwFlags = 0; key = OPENSSL_malloc(sizeof(CAPI_KEY)); + if (key == NULL) { + CAPIerr(CAPI_F_CAPI_GET_KEY, ERR_R_MALLOC_FAILURE); + capi_addlasterror(); + goto err; + } if (sizeof(TCHAR) == sizeof(char)) CAPI_trace(ctx, "capi_get_key, contname=%s, provname=%s, type=%d\n", contname, provname, ptype); |