Hi,
One of the changes made in several files:
bool* pfMissingInputs = false;
to
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:
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.
I was lookin to windows version, are you telling us that wallet freezes again after month??