@@ -114,6 +114,12 @@ static inline psa_status_t get_hash_clone(size_t index, int32_t partition_id,
114
114
return PSA_SUCCESS ;
115
115
}
116
116
117
+ static void free_message_context (psa_msg_t * msg )
118
+ {
119
+ mbedtls_free (msg -> rhandle );
120
+ psa_set_rhandle (msg -> handle , NULL );
121
+ }
122
+
117
123
// ------------------------- Partition's Main Thread ---------------------------
118
124
static void psa_crypto_init_operation (void )
119
125
{
@@ -234,8 +240,7 @@ static void psa_mac_operation(void)
234
240
}
235
241
236
242
if (status != PSA_SUCCESS ) {
237
- mbedtls_free (msg .rhandle );
238
- psa_set_rhandle (msg .handle , NULL );
243
+ free_message_context (& msg );
239
244
}
240
245
break ;
241
246
}
@@ -248,8 +253,7 @@ static void psa_mac_operation(void)
248
253
}
249
254
250
255
if (status != PSA_SUCCESS ) {
251
- mbedtls_free (msg .rhandle );
252
- psa_set_rhandle (msg .handle , NULL );
256
+ free_message_context (& msg );
253
257
}
254
258
break ;
255
259
}
@@ -289,8 +293,7 @@ static void psa_mac_operation(void)
289
293
}
290
294
291
295
if (status != PSA_SUCCESS ) {
292
- mbedtls_free (msg .rhandle );
293
- psa_set_rhandle (msg .handle , NULL );
296
+ free_message_context (& msg );
294
297
}
295
298
break ;
296
299
}
@@ -322,8 +325,7 @@ static void psa_mac_operation(void)
322
325
psa_mac_abort (msg .rhandle );
323
326
}
324
327
325
- mbedtls_free (msg .rhandle );
326
- psa_set_rhandle (msg .handle , NULL );
328
+ free_message_context (& msg );
327
329
break ;
328
330
}
329
331
@@ -355,15 +357,13 @@ static void psa_mac_operation(void)
355
357
psa_mac_abort (msg .rhandle );
356
358
}
357
359
358
- mbedtls_free (msg .rhandle );
359
- psa_set_rhandle (msg .handle , NULL );
360
+ free_message_context (& msg );
360
361
break ;
361
362
}
362
363
363
364
case PSA_MAC_ABORT : {
364
365
status = psa_mac_abort (msg .rhandle );
365
- mbedtls_free (msg .rhandle );
366
- psa_set_rhandle (msg .handle , NULL );
366
+ free_message_context (& msg );
367
367
break ;
368
368
}
369
369
@@ -381,7 +381,7 @@ static void psa_mac_operation(void)
381
381
case PSA_IPC_DISCONNECT : {
382
382
if (msg .rhandle != NULL ) {
383
383
psa_mac_abort (msg .rhandle );
384
- mbedtls_free ( msg . rhandle );
384
+ free_message_context ( & msg );
385
385
}
386
386
387
387
break ;
@@ -435,8 +435,7 @@ static void psa_hash_operation(void)
435
435
status = psa_hash_setup (msg .rhandle ,
436
436
psa_crypto .alg );
437
437
if (status != PSA_SUCCESS ) {
438
- mbedtls_free (msg .rhandle );
439
- psa_set_rhandle (msg .handle , NULL );
438
+ free_message_context (& msg );
440
439
}
441
440
break ;
442
441
}
@@ -477,8 +476,7 @@ static void psa_hash_operation(void)
477
476
478
477
if (status != PSA_SUCCESS ) {
479
478
clear_hash_clone (msg .rhandle );
480
- mbedtls_free (msg .rhandle );
481
- psa_set_rhandle (msg .handle , NULL );
479
+ free_message_context (& msg );
482
480
}
483
481
break ;
484
482
}
@@ -511,8 +509,7 @@ static void psa_hash_operation(void)
511
509
}
512
510
513
511
clear_hash_clone (msg .rhandle );
514
- mbedtls_free (msg .rhandle );
515
- psa_set_rhandle (msg .handle , NULL );
512
+ free_message_context (& msg );
516
513
break ;
517
514
}
518
515
@@ -545,16 +542,14 @@ static void psa_hash_operation(void)
545
542
}
546
543
547
544
clear_hash_clone (msg .rhandle );
548
- mbedtls_free (msg .rhandle );
549
- psa_set_rhandle (msg .handle , NULL );
545
+ free_message_context (& msg );
550
546
break ;
551
547
}
552
548
553
549
case PSA_HASH_ABORT : {
554
550
status = psa_hash_abort (msg .rhandle );
555
551
clear_hash_clone (msg .rhandle );
556
- mbedtls_free (msg .rhandle );
557
- psa_set_rhandle (msg .handle , NULL );
552
+ free_message_context (& msg );
558
553
break ;
559
554
}
560
555
@@ -582,8 +577,7 @@ static void psa_hash_operation(void)
582
577
release_hash_clone (hash_clone );
583
578
}
584
579
if (status != PSA_SUCCESS ) {
585
- mbedtls_free (msg .rhandle );
586
- psa_set_rhandle (msg .handle , NULL );
580
+ free_message_context (& msg );
587
581
}
588
582
break ;
589
583
}
@@ -601,7 +595,7 @@ static void psa_hash_operation(void)
601
595
if (msg .rhandle != NULL ) {
602
596
psa_hash_abort (msg .rhandle );
603
597
clear_hash_clone (msg .rhandle );
604
- mbedtls_free ( msg . rhandle );
598
+ free_message_context ( & msg );
605
599
}
606
600
607
601
break ;
@@ -954,8 +948,7 @@ static void psa_symmetric_operation(void)
954
948
}
955
949
956
950
if (status != PSA_SUCCESS ) {
957
- mbedtls_free (msg .rhandle );
958
- psa_set_rhandle (msg .handle , NULL );
951
+ free_message_context (& msg );
959
952
}
960
953
break ;
961
954
}
@@ -968,8 +961,7 @@ static void psa_symmetric_operation(void)
968
961
}
969
962
970
963
if (status != PSA_SUCCESS ) {
971
- mbedtls_free (msg .rhandle );
972
- psa_set_rhandle (msg .handle , NULL );
964
+ free_message_context (& msg );
973
965
}
974
966
break ;
975
967
}
@@ -986,8 +978,7 @@ static void psa_symmetric_operation(void)
986
978
psa_write (msg .handle , 1 , & iv_length ,
987
979
sizeof (iv_length ));
988
980
} else {
989
- mbedtls_free (msg .rhandle );
990
- psa_set_rhandle (msg .handle , NULL );
981
+ free_message_context (& msg );
991
982
}
992
983
break ;
993
984
}
@@ -1002,8 +993,7 @@ static void psa_symmetric_operation(void)
1002
993
}
1003
994
status = psa_cipher_set_iv (msg .rhandle , iv , iv_length );
1004
995
if (status != PSA_SUCCESS ) {
1005
- mbedtls_free (msg .rhandle );
1006
- psa_set_rhandle (msg .handle , NULL );
996
+ free_message_context (& msg );
1007
997
}
1008
998
break ;
1009
999
}
@@ -1047,8 +1037,7 @@ static void psa_symmetric_operation(void)
1047
1037
mbedtls_free (input );
1048
1038
mbedtls_free (output );
1049
1039
if (status != PSA_SUCCESS ) {
1050
- mbedtls_free (msg .rhandle );
1051
- psa_set_rhandle (msg .handle , NULL );
1040
+ free_message_context (& msg );
1052
1041
}
1053
1042
break ;
1054
1043
}
@@ -1076,15 +1065,13 @@ static void psa_symmetric_operation(void)
1076
1065
psa_cipher_abort (msg .rhandle );
1077
1066
}
1078
1067
1079
- mbedtls_free (msg .rhandle );
1080
- psa_set_rhandle (msg .handle , NULL );
1068
+ free_message_context (& msg );
1081
1069
break ;
1082
1070
}
1083
1071
1084
1072
case PSA_CIPHER_ABORT : {
1085
1073
status = psa_cipher_abort (msg .rhandle );
1086
- mbedtls_free (msg .rhandle );
1087
- psa_set_rhandle (msg .handle , NULL );
1074
+ free_message_context (& msg );
1088
1075
break ;
1089
1076
}
1090
1077
@@ -1100,7 +1087,7 @@ static void psa_symmetric_operation(void)
1100
1087
case PSA_IPC_DISCONNECT : {
1101
1088
if (msg .rhandle != NULL ) {
1102
1089
psa_cipher_abort (msg .rhandle );
1103
- mbedtls_free ( msg . rhandle );
1090
+ free_message_context ( & msg );
1104
1091
}
1105
1092
1106
1093
break ;
@@ -1649,8 +1636,7 @@ void psa_crypto_generator_operations(void)
1649
1636
1650
1637
case PSA_GENERATOR_ABORT : {
1651
1638
status = psa_generator_abort (msg .rhandle );
1652
- mbedtls_free (msg .rhandle );
1653
- psa_set_rhandle (msg .handle , NULL );
1639
+ free_message_context (& msg );
1654
1640
break ;
1655
1641
}
1656
1642
@@ -1695,8 +1681,7 @@ void psa_crypto_generator_operations(void)
1695
1681
mbedtls_free (salt );
1696
1682
mbedtls_free (label );
1697
1683
if (status != PSA_SUCCESS ) {
1698
- mbedtls_free (msg .rhandle );
1699
- psa_set_rhandle (msg .handle , NULL );
1684
+ free_message_context (& msg );
1700
1685
}
1701
1686
break ;
1702
1687
}
@@ -1729,8 +1714,7 @@ void psa_crypto_generator_operations(void)
1729
1714
}
1730
1715
1731
1716
if (status != PSA_SUCCESS ) {
1732
- mbedtls_free (msg .rhandle );
1733
- psa_set_rhandle (msg .handle , NULL );
1717
+ free_message_context (& msg );
1734
1718
}
1735
1719
break ;
1736
1720
}
@@ -1746,7 +1730,7 @@ void psa_crypto_generator_operations(void)
1746
1730
case PSA_IPC_DISCONNECT : {
1747
1731
if (msg .rhandle != NULL ) {
1748
1732
psa_generator_abort (msg .rhandle );
1749
- mbedtls_free ( msg . rhandle );
1733
+ free_message_context ( & msg );
1750
1734
}
1751
1735
1752
1736
break ;
0 commit comments