diff --git a/dap_chain_wallet.c b/dap_chain_wallet.c index 459ca2f2c72472f93edebe764da56553f7dbf9e6..83e2ef24c297246b04d1b7ed281a802ecc568059 100755 --- a/dap_chain_wallet.c +++ b/dap_chain_wallet.c @@ -253,6 +253,8 @@ size_t dap_chain_wallet_get_certs_number( dap_chain_wallet_t * a_wallet) */ dap_enc_key_t* dap_chain_wallet_get_key( dap_chain_wallet_t * a_wallet,uint32_t a_pkey_idx ) { + if(!a_wallet) + return NULL; DAP_CHAIN_WALLET_INTERNAL_LOCAL(a_wallet); if( l_wallet_internal->certs_count > a_pkey_idx ){ return l_wallet_internal->certs[a_pkey_idx] ? diff --git a/dap_chain_wallet_internal.h b/dap_chain_wallet_internal.h index dfaaaf7a5bfcfc599d24b413bad980980da3100b..9ddb64b2f838f30842e9e9e160523402d2101a93 100755 --- a/dap_chain_wallet_internal.h +++ b/dap_chain_wallet_internal.h @@ -64,7 +64,7 @@ typedef struct dap_chain_wallet_internal dap_cert_t ** certs; } dap_chain_wallet_internal_t; -#define DAP_CHAIN_WALLET_INTERNAL(a) ((dap_chain_wallet_internal_t *) a->_internal ) +#define DAP_CHAIN_WALLET_INTERNAL(a) (a ? (dap_chain_wallet_internal_t *) a->_internal : NULL) #define DAP_CHAIN_WALLET_INTERNAL_LOCAL(a) dap_chain_wallet_internal_t * l_wallet_internal = DAP_CHAIN_WALLET_INTERNAL(a)