mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
prevent segfault
In case we're not connected yet and press Alt+c a segfault occurred since `conn.xmpp_conn` is dereferenced while it's still `NULL`. Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
parent
07e584734d
commit
764a7fb71b
@ -51,6 +51,9 @@ get_message_from_editor(gchar* message, gchar** returned_message)
|
||||
{
|
||||
// create editor dir if not present
|
||||
char* jid = connection_get_barejid();
|
||||
if (!jid) {
|
||||
return TRUE;
|
||||
}
|
||||
gchar* path = files_get_account_data_path(DIR_EDITOR, jid);
|
||||
free(jid);
|
||||
if (g_mkdir_with_parents(path, S_IRWXU) != 0) {
|
||||
|
@ -747,6 +747,8 @@ connection_get_ctx(void)
|
||||
const char*
|
||||
connection_get_fulljid(void)
|
||||
{
|
||||
if (!conn.xmpp_conn)
|
||||
return NULL;
|
||||
const char* jid = xmpp_conn_get_bound_jid(conn.xmpp_conn);
|
||||
if (jid) {
|
||||
return jid;
|
||||
@ -759,10 +761,11 @@ char*
|
||||
connection_get_barejid(void)
|
||||
{
|
||||
const char* jid = connection_get_fulljid();
|
||||
char* result;
|
||||
if (!jid)
|
||||
return NULL;
|
||||
|
||||
Jid* jidp = jid_create(jid);
|
||||
result = strdup(jidp->barejid);
|
||||
char* result = strdup(jidp->barejid);
|
||||
jid_destroy(jidp);
|
||||
|
||||
return result;
|
||||
@ -772,8 +775,9 @@ char*
|
||||
connection_get_user(void)
|
||||
{
|
||||
const char* jid = connection_get_fulljid();
|
||||
char* result;
|
||||
result = strdup(jid);
|
||||
if (!jid)
|
||||
return NULL;
|
||||
char* result = strdup(jid);
|
||||
|
||||
char* split = strchr(result, '@');
|
||||
*split = '\0';
|
||||
|
Loading…
Reference in New Issue
Block a user