From: seolheui, kim Date: Wed, 26 Dec 2018 02:48:26 +0000 (+0900) Subject: Check return value to avoid null pointer dereference X-Git-Tag: submit/tizen_4.0/20190102.033734^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F99%2F196199%2F3;p=platform%2Fcore%2Fsecurity%2Fode.git Check return value to avoid null pointer dereference Change-Id: Iba8672046ed58b89e4b92e86e9758fe27255d916 Signed-off-by: seolheui, kim --- diff --git a/server/key-manager/key-generator.cpp b/server/key-manager/key-generator.cpp index 3c5816f..2e2abc0 100644 --- a/server/key-manager/key-generator.cpp +++ b/server/key-manager/key-generator.cpp @@ -76,10 +76,12 @@ BinaryData AESEncrypt(const BinaryData& in, const BinaryData& iv) { BinaryData ret(in.size(), 0); - EVP_CIPHER_CTX* ctx; + EVP_CIPHER_CTX* ctx = nullptr; int outLen, len; ctx = ::EVP_CIPHER_CTX_new(); + if (ctx == nullptr) + throw runtime::Exception("Failed to allocate memory for chipher context"); ::EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key.data(), iv.data()); @@ -100,11 +102,13 @@ BinaryData AESDecrypt(const BinaryData& in, const BinaryData& iv) { BinaryData ret(in.size(), 0); - EVP_CIPHER_CTX* ctx; + EVP_CIPHER_CTX* ctx = nullptr; int len, len1; ctx = ::EVP_CIPHER_CTX_new(); + if (ctx == nullptr) + throw runtime::Exception("Failed to allocate memory for chipher context"); ::EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key.data(), iv.data()); ::EVP_CIPHER_CTX_set_padding(ctx, 0);