This fixes 3 null dereferences

--- irc/core/irc-commands.c.orig        Tue Dec 10 12:35:30 2013
+++ irc/core/irc-commands.c     Tue Dec 10 12:37:06 2013
@@ -74,7 +74,7 @@
                return;
        if (strcmp(target, "*") == 0)
                target = item == NULL ? NULL : window_item_get_target(item);
-       if (*target == '\0' || *msg == '\0')
+       if (!target || *target == '\0' || *msg == '\0')
                cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
 
        recoded = recode_out(SERVER(server), msg, target);
@@ -101,7 +101,7 @@
                return;
        if (strcmp(target, "*") == 0)
                target = item == NULL ? NULL : window_item_get_target(item);
-       if (*target == '\0' || *ctcpcmd == '\0')
+       if (!target || *target == '\0' || *ctcpcmd == '\0')
                cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
 
        ascii_strup(ctcpcmd);
@@ -135,7 +135,7 @@
                return;
        if (strcmp(target, "*") == 0)
                target = item == NULL ? NULL : window_item_get_target(item);
-       if (*target == '\0' || *ctcpcmd == '\0')
+       if (!target || *target == '\0' || *ctcpcmd == '\0')
                cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS);
 
        ascii_strup(ctcpcmd);

Reply via email to