irc-commands.diff

David Hill <[email protected]> Tue, 10 Dec 2013 12:40:36 -0500
Newsgroups gmane.network.irc.irssi.devel
Message-ID <20131210174036.GA10515@fdea55f6bd3d672b8514b9eb576b050d2125e9fadd88a42d>
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);