From bb2c8412acbbc7ac976d4b1cbcb30417b958d3c1 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 7 Dec 2023 16:15:24 +0100 Subject: [PATCH 1/3] Fix standard plugin makefile improperly setting variant value --- src_plugin_sdk/standard_plugin.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_plugin_sdk/standard_plugin.mk b/src_plugin_sdk/standard_plugin.mk index 0fd12d1..5409d29 100644 --- a/src_plugin_sdk/standard_plugin.mk +++ b/src_plugin_sdk/standard_plugin.mk @@ -48,7 +48,7 @@ CURVE_APP_LOAD_PARAMS = secp256k1 PATH_APP_LOAD_PARAMS ?= "44'/60'" VARIANT_PARAM = COIN -VARIANTS_VALUES ?= $(NORMAL_NAME) +VARIANT_VALUES ?= $(NORMAL_NAME) HAVE_APPLICATION_FLAG_LIBRARY = 1 From 0cf5a258962eb35f998d75dab794579a0af4103b Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 7 Dec 2023 16:35:55 +0100 Subject: [PATCH 2/3] Added a null-check in the plugin SDK's dispatch_call --- src_plugin_sdk/main.c | 48 +++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src_plugin_sdk/main.c b/src_plugin_sdk/main.c index f06a2bb..b36171f 100644 --- a/src_plugin_sdk/main.c +++ b/src_plugin_sdk/main.c @@ -53,28 +53,32 @@ static void call_app_ethereum() { // Function to dispatch calls from the ethereum app. static void dispatch_call(int message, void *parameters) { - switch (message) { - case ETH_PLUGIN_INIT_CONTRACT: - handle_init_contract(parameters); - break; - case ETH_PLUGIN_PROVIDE_PARAMETER: - handle_provide_parameter(parameters); - break; - case ETH_PLUGIN_FINALIZE: - handle_finalize(parameters); - break; - case ETH_PLUGIN_PROVIDE_INFO: - handle_provide_token(parameters); - break; - case ETH_PLUGIN_QUERY_CONTRACT_ID: - handle_query_contract_id(parameters); - break; - case ETH_PLUGIN_QUERY_CONTRACT_UI: - handle_query_contract_ui(parameters); - break; - default: - PRINTF("Unhandled message %d\n", message); - break; + if (parameters != NULL) { + switch (message) { + case ETH_PLUGIN_INIT_CONTRACT: + handle_init_contract(parameters); + break; + case ETH_PLUGIN_PROVIDE_PARAMETER: + handle_provide_parameter(parameters); + break; + case ETH_PLUGIN_FINALIZE: + handle_finalize(parameters); + break; + case ETH_PLUGIN_PROVIDE_INFO: + handle_provide_token(parameters); + break; + case ETH_PLUGIN_QUERY_CONTRACT_ID: + handle_query_contract_id(parameters); + break; + case ETH_PLUGIN_QUERY_CONTRACT_UI: + handle_query_contract_ui(parameters); + break; + default: + PRINTF("Unhandled message %d\n", message); + break; + } + } else { + PRINTF("Received null parameters\n"); } } From cce38525a0e69496f2cef234833a5834a6747d08 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 7 Dec 2023 16:41:17 +0100 Subject: [PATCH 3/3] Updated plugin SDK changelog --- src_plugin_sdk/CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src_plugin_sdk/CHANGELOG.md b/src_plugin_sdk/CHANGELOG.md index f0bbbe9..a1c0f99 100644 --- a/src_plugin_sdk/CHANGELOG.md +++ b/src_plugin_sdk/CHANGELOG.md @@ -5,11 +5,13 @@ | :rotating_light: | Breaks build | | :warning: | Breaks compatibility with app | -## [latest](/) - 2023/12/06 +## [latest](/) - 2023/12/07 ### Fixed * standard\_plugin build ([this PR on the SDK](https://github.com/LedgerHQ/ledger-secure-sdk/pull/473) had broken it) +* Broken variant auto-setting in the standard\_plugin Makefile +* Missing null-check on parameters received by the plugins ### Changed