X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5c19dc3ae3bd8e40a9c028b0deddd50ff337692c..b04fe171f0375ecd5d8a24747ca1dff85720a0ca:/OSX/libsecurity_transform/lib/EncryptTransform.cpp?ds=inline diff --git a/OSX/libsecurity_transform/lib/EncryptTransform.cpp b/OSX/libsecurity_transform/lib/EncryptTransform.cpp index 8c732c0c..9b8d7d89 100644 --- a/OSX/libsecurity_transform/lib/EncryptTransform.cpp +++ b/OSX/libsecurity_transform/lib/EncryptTransform.cpp @@ -28,7 +28,7 @@ #include "Utilities.h" #include "SecDigestTransform.h" #include "Digest.h" -#include +#include #include #include "SecMaskGenerationFunctionTransform.h" @@ -627,22 +627,16 @@ CFDataRef EncryptDecryptBase::apply_oaep_padding(CFDataRef dataValue) seed = (CFDataRef)this->GetAttribute(CFSTR("FixedSeedForOAEPTesting")); raw_seed = NULL; if (seed) { - raw_seed = (UInt8*)CFDataGetBytePtr(seed); (void)transforms_assume(hLen == CFDataGetLength(seed)); CFRetain(seed); } else { - raw_seed = (UInt8*)malloc(hLen); - if (!raw_seed) { - error = GetNoMemoryErrorAndRetain(); - goto out; - } - SecRandomCopyBytes(kSecRandomDefault, hLen, raw_seed); - seed = CFDataCreateWithBytesNoCopy(NULL, raw_seed, hLen, kCFAllocatorMalloc); + seed = SecRandomCopyData(kSecRandomDefault, hLen); if (!seed) { - free(raw_seed); error = GetNoMemoryErrorAndRetain(); + goto out; } } + raw_seed = (UInt8*)CFDataGetBytePtr(seed); // (7) Let dbMask = MGF (seed, emLen − hLen). mgf_dbMask = transforms_assume(SecCreateMaskGenerationFunctionTransform(hashAlgo, desired_message_length - hLen, &error));