Post
Topic
Board Announcements (Altcoins)
Re: [ANN] CoinonatX-PoW/PoS-Masternodes-75% APR (CXT Sister) -NEW THREAD
by
modzer0
on 26/11/2017, 22:31:36 UTC
Here is new windows wallet and new wallet source  links

Windows wallet: https://mega.nz/#!xugUGCaS!fGPvJY3UVKhR8DP1ITuZpLmp0jdvv72RgZKgsF8lfW8

New wallet source: https://github.com/coinonat/CoinonatX ( check new release)

LINUX WALLET AND DAEMON: https://mega.nz/#F!t6xBRbrS!GUqq5GloIY9U5027FD2E_g
  

Hi,

One of the changes made in several files:

Code:
bool* pfMissingInputs = false;

to

Code:
bool* pfMissingInputs;

has the potential to cause crashes, because now the pointer is uninitialized. An example of code that uses pfMissingInputs is AcceptableInputs() in main.cpp:

Code:
   if (pfMissingInputs)
        *pfMissingInputs = false;

Since the value passed is uninitialized, it could contain a non-zero value, causing the above if statement to be true, which would result in dereferencing a bad pointer when trying to set it to false. This would cause the application to crash.

I understand why you changed from setting it to false, as that was incorrect too (it's a pointer, not a boolean). It should be initialized to NULL instead of leaving it uninitialized.

EDIT: I've compiled the Linux wallet myself and it consistently crashes with segfaults. Debugging shows it dies on line 768 of main.cpp, which is the code I mentioned above. This is a real problem; please don't leave pfMissingInputs uninitialized.