File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -157,7 +157,13 @@ bool seader_send_apdu(
157157 return false;
158158 }
159159
160- uint8_t apdu [SEADER_UART_RX_BUF_SIZE ];
160+ uint8_t length = APDU_HEADER_LEN + payloadLen ;
161+ uint8_t * apdu = malloc (length );
162+ if (!apdu ) {
163+ FURI_LOG_E (TAG , "Failed to allocate memory for apdu in seader_send_apdu" );
164+ return false;
165+ }
166+
161167 apdu [0 ] = CLA ;
162168 apdu [1 ] = INS ;
163169 apdu [2 ] = P1 ;
@@ -172,7 +178,6 @@ bool seader_send_apdu(
172178 }
173179
174180 memcpy (apdu + APDU_HEADER_LEN , payload , payloadLen );
175- uint8_t length = APDU_HEADER_LEN + payloadLen ;
176181
177182 memset (display , 0 , sizeof (display ));
178183 for (uint8_t i = 0 ; i < length ; i ++ ) {
@@ -185,6 +190,7 @@ bool seader_send_apdu(
185190 } else {
186191 seader_ccid_XfrBlock (seader_uart , apdu , length );
187192 }
193+ free (apdu );
188194
189195 return true;
190196}
You can’t perform that action at this time.
0 commit comments