Fix segfault when entering incorrect password #33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When configuring an account with an incorrect password
system.New()
returnsnil
which causes a segmentation fault when accessingsys
:One option would be to
panic()
whenerr != nil
, but this goes against the structure of the already existing code, which iterates over all configured systems, collects error messages from each of them (if any), and later (when returning fromloadSystems()
), prints all these errors beforepanic()
'ing.Thus, we want not to
panic()
here, but still we want thenil
pointer not to be accessed. The solution is simple: just include the code that accesses thesys
object in theelse
branch:Note that, as explained before, when entering a wrong password the binary will still fail (wich a
panic()
) but at least now each of the reassons why each system could not be initialized will be printed to the log file.