From 7b700cdc79cf18b15a167f09c750f0d2228b8dff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Al=D0=B5x=D0=B0nder=20Lysik=D0=BEv?=
 <alexander.lysikov@demlabs.net>
Date: Tue, 4 Feb 2020 17:08:34 +0500
Subject: [PATCH] added the checks for null pointer

---
 dap_chain_wallet.c          | 2 ++
 dap_chain_wallet_internal.h | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/dap_chain_wallet.c b/dap_chain_wallet.c
index 459ca2f..83e2ef2 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 dfaaaf7..9ddb64b 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)
 
-- 
GitLab