@@ -175,7 +175,7 @@ __noinline_due_to_stack__ void signTx_handleInitAPDU(uint8_t p2,
175175 switch (network ) {
176176#define CASE (NETWORK , CHAIN_STRING ) \
177177 case NETWORK: { \
178- snprintf(ctx->value, MAX_DISPLAY_KEY_LENGTH , CHAIN_STRING); \
178+ snprintf(ctx->value, MAX_DISPLAY_VALUE_LENGTH , CHAIN_STRING); \
179179 break; \
180180 }
181181 CASE (NETWORK_MAINNET , "Mainnet" );
@@ -204,19 +204,13 @@ __noinline_due_to_stack__ void signTx_handleInitAPDU(uint8_t p2,
204204 policy = policyForSignTxInit (& ctx -> wittnessPath );
205205 TRACE ("Policy: %d" , (int ) policy );
206206 ENSURE_NOT_DENIED (policy );
207- {
208- // select UI steps
209- switch (policy ) {
210- #define CASE (POLICY , UI_STEP ) \
211- case POLICY: { \
212- ctx->ui_step = UI_STEP; \
213- break; \
214- }
215- CASE (POLICY_SHOW_BEFORE_RESPONSE , HANDLE_SIMPLE_STEP_DISPLAY_DETAILS );
216- default :
217- THROW (ERR_NOT_IMPLEMENTED );
218- #undef CASE
219- }
207+ // select UI step
208+ if (policy == POLICY_SHOW_BEFORE_RESPONSE ) {
209+ ctx -> ui_step = HANDLE_SIMPLE_STEP_DISPLAY_DETAILS ;
210+ }
211+ else {
212+ THROW (ERR_NOT_IMPLEMENTED );
213+
220214 }
221215 }
222216
@@ -296,7 +290,7 @@ __noinline_due_to_stack__ void signTx_handleShowMessageAPDU(
296290 struct {
297291 uint8_t displayValueLen ;
298292 uint8_t displayValue [MAX_DISPLAY_VALUE_LENGTH ];
299- }* constData2 = (void * ) constDataBuffer + 1 + constData -> displayKeyLen ;
293+ }* constData2 = (void * ) ( constDataBuffer + 1 + constData -> displayKeyLen ) ;
300294 VALIDATE (constData2 -> displayValueLen < MAX_DISPLAY_VALUE_LENGTH - 1 , ERR_INVALID_DATA );
301295 VALIDATE (constSize == 2 + constData -> displayKeyLen + constData2 -> displayValueLen ,
302296 ERR_INVALID_DATA );
@@ -848,19 +842,12 @@ __noinline_due_to_stack__ void signTx_handleEndDHEncodingAPDU(
848842 policy = policyForSignTxDHEnd ();
849843 TRACE ("Policy: %d" , (int ) policy );
850844 ENSURE_NOT_DENIED (policy );
851- {
852- // select UI steps
853- switch (policy ) {
854- #define CASE (POLICY , UI_STEP ) \
855- case POLICY: { \
856- ctx->ui_step = UI_STEP; \
857- break; \
858- }
859- CASE (POLICY_PROMPT_BEFORE_RESPONSE , HANDLE_DH_END_STEP_CONFIRM );
860- default :
861- THROW (ERR_NOT_IMPLEMENTED );
862- #undef CASE
863- }
845+ // select UI step
846+ if (policy == POLICY_PROMPT_BEFORE_RESPONSE ) {
847+ ctx -> ui_step = HANDLE_DH_END_STEP_CONFIRM ;
848+ }
849+ else {
850+ THROW (ERR_NOT_IMPLEMENTED );
864851 }
865852 }
866853 }
@@ -952,19 +939,12 @@ __noinline_due_to_stack__ void signTx_handleFinishAPDU(
952939 policy = policyForSignTxFinish ();
953940 TRACE ("Policy: %d" , (int ) policy );
954941 ENSURE_NOT_DENIED (policy );
955- {
956- // select UI steps
957- switch (policy ) {
958- #define CASE (POLICY , UI_STEP ) \
959- case POLICY: { \
960- ctx->ui_step = UI_STEP; \
961- break; \
962- }
963- CASE (POLICY_PROMPT_BEFORE_RESPONSE , HANDLE_FINISH_STEP_DISPLAY_DETAILS );
964- default :
965- THROW (ERR_NOT_IMPLEMENTED );
966- #undef CASE
967- }
942+ // select UI step
943+ if (policy == POLICY_PROMPT_BEFORE_RESPONSE ) {
944+ ctx -> ui_step = HANDLE_FINISH_STEP_DISPLAY_DETAILS ;
945+ }
946+ else {
947+ THROW (ERR_NOT_IMPLEMENTED );
968948 }
969949 }
970950
@@ -1032,7 +1012,7 @@ __noinline_due_to_stack__ void signTx_handleFinishAPDU(
10321012 }
10331013 }
10341014 FINALLY {
1035- memset (& privateKey , 0 , sizeof (privateKey ));
1015+ explicit_bzero (& privateKey , sizeof (privateKey ));
10361016 }
10371017 }
10381018 END_TRY ;
0 commit comments