From 0ee22d8f947ef1a273edf47fa16a5d9737601726 Mon Sep 17 00:00:00 2001 From: toddouska Date: Tue, 4 Sep 2012 16:03:45 -0700 Subject: [PATCH] don't use SSL Master Secret stack space in TLS mode --- src/keys.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/keys.c b/src/keys.c index c752e2cda..f9382b3d4 100644 --- a/src/keys.c +++ b/src/keys.c @@ -1132,7 +1132,7 @@ static void CleanPreMaster(CYASSL* ssl) /* Create and store the master secret see page 32, 6.1 */ -int MakeMasterSecret(CYASSL* ssl) +static int MakeSslMasterSecret(CYASSL* ssl) { byte shaOutput[SHA_DIGEST_SIZE]; byte md5Input[ENCRYPT_LEN + SHA_DIGEST_SIZE]; @@ -1154,10 +1154,6 @@ int MakeMasterSecret(CYASSL* ssl) } #endif -#ifndef NO_TLS - if (ssl->options.tls) return MakeTlsMasterSecret(ssl); -#endif - InitMd5(&md5); InitSha(&sha); @@ -1205,3 +1201,14 @@ int MakeMasterSecret(CYASSL* ssl) return ret; } + +/* Master wrapper, doesn't use SSL stack space in TLS mode */ +int MakeMasterSecret(CYASSL* ssl) +{ +#ifndef NO_TLS + if (ssl->options.tls) return MakeTlsMasterSecret(ssl); +#endif + + return MakeSslMasterSecret(ssl); +} +