Skip to content

Commit

Permalink
set error instead of return inside catch
Browse files Browse the repository at this point in the history
  • Loading branch information
chcmedeiros committed Nov 3, 2022
1 parent 1baadc9 commit 6ad88b0
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 21 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ jobs:
run: |
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
make deps
brew install conan
conan config install https://github.com/conan-io/conanclientcert.git
- run: cmake -DCMAKE_BUILD_TYPE=Debug . && make
- run: GTEST_COLOR=1 ASAN_OPTIONS=detect_leaks=0 ctest -VV

Expand Down
31 changes: 12 additions & 19 deletions app/src/crypto.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ zxerr_t crypto_extractPublicKey(key_kind_e addressKind, const uint32_t path[HDPA
if (pubKeyLen < PK_LEN_25519) {
return zxerr_invalid_crypto_settings;
}
zxerr_t err = zxerr_ok;

BEGIN_TRY
{
Expand Down Expand Up @@ -72,16 +73,12 @@ zxerr_t crypto_extractPublicKey(key_kind_e addressKind, const uint32_t path[HDPA
break;
#endif
default:
CLOSE_TRY;
return zxerr_invalid_crypto_settings;
err = zxerr_invalid_crypto_settings;
}
}
CATCH_ALL
{
MEMZERO(&cx_privateKey, sizeof(cx_privateKey));
MEMZERO(privateKeyData, SK_LEN_25519);
CLOSE_TRY;
return zxerr_unknown;
err = zxerr_unknown;
}
FINALLY
{
Expand All @@ -91,7 +88,7 @@ zxerr_t crypto_extractPublicKey(key_kind_e addressKind, const uint32_t path[HDPA
}
END_TRY;

return zxerr_ok;
return err;
}

zxerr_t crypto_sign_ed25519(uint8_t *signature, uint16_t signatureMaxlen,
Expand All @@ -114,6 +111,8 @@ zxerr_t crypto_sign_ed25519(uint8_t *signature, uint16_t signatureMaxlen,
int signatureLength = 0;
unsigned int info = 0;

zxerr_t err = zxerr_ok;

BEGIN_TRY
{
TRY
Expand Down Expand Up @@ -147,11 +146,8 @@ zxerr_t crypto_sign_ed25519(uint8_t *signature, uint16_t signatureMaxlen,
}
CATCH_ALL
{
MEMZERO(&cx_privateKey, sizeof(cx_privateKey));
MEMZERO(privateKeyData, SK_LEN_25519);
*signatureLen = 0;
CLOSE_TRY;
return zxerr_unknown;
err = zxerr_unknown;
}
FINALLY
{
Expand All @@ -161,7 +157,7 @@ zxerr_t crypto_sign_ed25519(uint8_t *signature, uint16_t signatureMaxlen,
}
}
END_TRY;
return zxerr_ok;
return err;
}

#ifdef SUPPORT_SR25519
Expand Down Expand Up @@ -205,14 +201,12 @@ zxerr_t crypto_sign_sr25519_prephase(uint8_t *buffer, uint16_t bufferLen,
zxerr_t crypto_sign_sr25519(uint8_t *signature, uint16_t signatureMaxlen,
uint16_t *signatureLen) {

zxerr_t err = zxerr_ok;

BEGIN_TRY
{
TRY
{
if (signatureMaxlen < MIN_BUFFER_LENGTH) {
CLOSE_TRY;
return zxerr_invalid_crypto_settings;
}
*signature = PREFIX_SIGNATURE_TYPE_SR25519;
sign_sr25519_phase1((uint8_t *) &N_sr25519_signdata.sk, (uint8_t *) &N_sr25519_signdata.pk, NULL, 0,
(uint8_t *) &N_sr25519_signdata.signdata, sr25519_signdataLen, signature + 1);
Expand All @@ -223,16 +217,15 @@ zxerr_t crypto_sign_sr25519(uint8_t *signature, uint16_t signatureMaxlen,
}
CATCH_ALL
{
CLOSE_TRY;
return zxerr_unknown;
err = zxerr_unknown;
};
FINALLY
{
MEMZERO(signature + SIG_PLUS_TYPE_LEN, signatureMaxlen - SIG_PLUS_TYPE_LEN);
}
}
END_TRY;
return zxerr_ok;
return err;
}
#endif

Expand Down
1 change: 1 addition & 0 deletions app/src/secret.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "tx.h"
#include "view.h"
#include "app_mode.h"
#include "zxformat.h"

void secret_accept() {
#ifdef APP_SECRET_MODE_ENABLED
Expand Down

0 comments on commit 6ad88b0

Please sign in to comment.