Crash with no Identity
Start with a fresh installation of quassel. Skip create identity. Try to connect to some network.
It crash while accessing a null reference. From a null pointer to a an Identity object which, of course, does not exist.
In the patch, the returned identity is checked if it exist. If not, no new CertIdentity is created and a warning is printed.
- Disable GUI components to connect to a network if not identity exist.
- Client::identity() should not returns pointers. Const references are fine.
If no identify exist, may throw an exception. Or return a dummy identify.
#1 Updated by digitalcircuit over 2 years ago
Thank you for this! I'll try looking into filing a pull request to get this issue resolved, including making sure the rest of the UI doesn't crash.
#2 Updated by digitalcircuit over 2 years ago
I have filed a pull request featuring your patch. If you'd prefer attribution done differently, e.g. setting the commit author name/email, just let me know!
Thank you for your effort and patience with this.
#3 Updated by Anonymous over 2 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset quassel|c144bdee0d8ab0c195b3088f5c6e57e372e526f7.
#4 Updated by phuzion almost 2 years ago
- Related to Bug #1432: Quassel client crashes when trying to change Network settings added
client: Fix settings crash on missing net identity
When fetching the client identity in Network settings, make sure the
identity exists before trying to convert it into a CertIdentity.
This resolves a crash if an identity is deleted improperly or if no
identities are specified.
1. Clear the configuration for Quassel monolithic
2. Start Quassel monolithic
3. Cancel the setup wizard (before creating any identity)
4. Go to Settings -> Configure Quassel... (F7)
5. Navigate to IRC -> Identities, confirm that no identity exists
6. Navigate to IRC -> Networks
7. Add a new network (details don't matter)
8. Observe results
NOTE: This fix was contributed by "kater" on the Quassel IRC bug
tracker. I'm not sure of a better way to provide attribution, as I
don't know if they want their email address part of Quassel's public
See the original patch here: