@@ -858,12 +858,11 @@ void update_savedata_file(const Tox *tox, const uint8_t *passphrase, size_t pass
858858 // dbg(9, "update_savedata_file:savedata_enc=%p", savedata_enc);
859859 TOX_ERR_ENCRYPTION error ;
860860 tox_pass_encrypt ((const uint8_t * )savedata , size , passphrase , passphrase_len , savedata_enc , & error );
861- dbg (9 , "update_savedata_file:tox_pass_encrypt:%d" , (int )error );
862- bool res = false;
861+ // dbg(9, "update_savedata_file:tox_pass_encrypt:%d", (int)error);
863862
864863 if ((size_enc < TOX_PASS_ENCRYPTION_EXTRA_LENGTH ) || (error != TOX_ERR_ENCRYPTION_OK ))
865864 {
866- dbg (9 , "update_savedata_file:ERROR:size_enc < TOX_PASS_ENCRYPTION_EXTRA_LENGTH or error != TOX_ERR_ENCRYPTION_OK" );
865+ dbg (9 , "update_savedata_file:ERROR:size_enc < TOX_PASS_ENCRYPTION_EXTRA_LENGTH or error != TOX_ERR_ENCRYPTION_OK: error=%d" , ( int ) error );
867866 if (savedata )
868867 {
869868 free (savedata );
@@ -876,10 +875,17 @@ void update_savedata_file(const Tox *tox, const uint8_t *passphrase, size_t pass
876875 }
877876 else
878877 {
878+ bool res = false;
879879 res = tox_is_data_encrypted ((const uint8_t * )savedata_enc );
880+ if (!res )
881+ {
882+ dbg (9 , "update_savedata_file:ERROR:savedata_enc is corrupted" );
883+ free (savedata );
884+ free (savedata_enc );
885+ return ;
886+ }
880887 }
881888
882- // dbg(9, "update_savedata_file:tox_is_data_encrypted=%d", (int)res);
883889 FILE * f = fopen (full_path_filename_tmp , "wb" );
884890 fwrite ((const void * )savedata_enc , size_enc , 1 , f );
885891 fseek (f , 0 , SEEK_END );
0 commit comments