Skip to content

Commit 0f2c419

Browse files
etienne-lmsjforissier
authored andcommitted
ecdsa: TEE_Free*() functions support null handle argument
Update the implementation since TEE_FreeTransientObject() supports argument TEE_HANDLE_NULL as per the GlobalPlatform TEE Internal Core API specification. This change better shows good practices to new comers. Signed-off-by: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
1 parent a9b3431 commit 0f2c419

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

ecdsa/ta/ecdsa_ta.c

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,9 @@ void TA_CloseSessionEntryPoint(void *sess_ctx)
5151
{
5252
struct ecdsa *sess = sess_ctx;
5353

54-
/* release session */
55-
if (sess->keypair != TEE_HANDLE_NULL)
56-
TEE_FreeTransientObject(sess->keypair);
57-
if (sess->public_key != TEE_HANDLE_NULL)
58-
TEE_FreeTransientObject(sess->public_key);
59-
54+
/* release session resources */
55+
TEE_FreeTransientObject(sess->keypair);
56+
TEE_FreeTransientObject(sess->public_key);
6057
TEE_Free(sess);
6158
}
6259

@@ -191,14 +188,11 @@ static TEE_Result genrate_key(void *session, uint32_t param_types)
191188
return TEE_ERROR_BAD_PARAMETERS;
192189
}
193190

194-
if (sess->keypair != TEE_HANDLE_NULL) {
195-
TEE_FreeTransientObject(sess->keypair);
196-
sess->keypair = TEE_HANDLE_NULL;
197-
}
198-
if (sess->public_key != TEE_HANDLE_NULL) {
199-
TEE_FreeTransientObject(sess->public_key);
200-
sess->public_key = TEE_HANDLE_NULL;
201-
}
191+
TEE_FreeTransientObject(sess->keypair);
192+
sess->keypair = TEE_HANDLE_NULL;
193+
194+
TEE_FreeTransientObject(sess->public_key);
195+
sess->public_key = TEE_HANDLE_NULL;
202196

203197
res = TEE_AllocateTransientObject(TEE_TYPE_ECDSA_KEYPAIR, key_size,
204198
&sess->keypair);

0 commit comments

Comments
 (0)