about summary refs log tree commit diff stats
path: root/src/command/command.c
diff options
context:
space:
mode:
authorDmitry Podgorny <pasis.ua@gmail.com>2013-07-31 01:37:02 +0300
committerDmitry Podgorny <pasis.ua@gmail.com>2013-07-31 01:37:02 +0300
commit71f4194513b679ab2f04644700a872ea2c8cb0dd (patch)
treed9daeb8965c7c927e80537cbcd949861d1631f05 /src/command/command.c
parentc73d181690fd97bd22e0b58ca79e929d63c2c4d5 (diff)
downloadprofani-tty-71f4194513b679ab2f04644700a872ea2c8cb0dd.tar.gz
fixed null pointer dereference in /join command
Command /join @/ leads to crash because jid_create("@/") returns NULL
Diffstat (limited to 'src/command/command.c')
-rw-r--r--src/command/command.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/command/command.c b/src/command/command.c
index 2e31605d..d8b955a2 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -2673,10 +2673,15 @@ _cmd_join(gchar **args, struct cmd_help_t help)
         return TRUE;
     }
 
+    Jid *room_arg = jid_create(args[0]);
+    if (room_arg == NULL) {
+        cons_show_error("Specified room has incorrect format");
+        return TRUE;
+    }
+
     int num_args = g_strv_length(args);
     char *room = NULL;
     char *nick = NULL;
-    Jid *room_arg = jid_create(args[0]);
     GString *room_str = g_string_new("");
     Jid *my_jid = jid_create(jabber_get_fulljid());