Struan Clark hace 2 años
padre
commit
0db90fa488
Se han modificado 2 ficheros con 7 adiciones y 3 borrados
  1. 6 0
      helpers/flipbip_file.c
  2. 1 3
      views/flipbip_scene_1.c

+ 6 - 0
helpers/flipbip_file.c

@@ -186,6 +186,8 @@ bool flipbip_load_settings_secure(char* settings) {
     if (data[0] != FILE_HSTR[0] || data[1] != FILE_HSTR[1] || data[2] != FILE_HSTR[2] || data[3] != FILE_HSTR[3]) {
         memzero(data, dlen);
         free(data);
+        memzero(k1, strlen(FILE_K1) / 2);
+        memzero(k2, FILE_KLEN / 2);
         return false;
     }
     // seek --> header
@@ -204,6 +206,8 @@ bool flipbip_load_settings_secure(char* settings) {
     // clear memory
     memzero(data, dlen);
     free(data);
+    memzero(k1, strlen(FILE_K1) / 2);
+    memzero(k2, FILE_KLEN / 2);
 
     return true;
 }
@@ -261,6 +265,8 @@ bool flipbip_save_settings_secure(const char* settings) {
     // clear memory
     memzero(data, dlen);
     free(data);
+    memzero(k1, strlen(FILE_K1) / 2);
+    memzero(k2, FILE_KLEN / 2);
 
     return true;
 }

+ 1 - 3
views/flipbip_scene_1.c

@@ -435,9 +435,7 @@ void flipbip_scene_1_exit(void* context) {
             model->page = 0;
             model->strength = 0;
             model->coin = 0;
-            for (int i = 0; i < 64; i++) {
-                model->seed[i] = 0;
-            }
+            memzero(model->seed, 64);
             memzero((void*)model->mnemonic, strlen(model->mnemonic));
             free((void*)model->mnemonic);
             memzero((void*)model->node, sizeof(HDNode));