Commit Diff


commit - dee89c2355f973db0ba7c7ca81c83940caefc3d4
commit + 0a9608a26f4c5fec7d09f13a814bf4e384b17759
blob - 2c142288fd446d04dd48322c9da121a960a138a5
blob + 9ada4f13c7f1e437733b4e2ea42bd89273bc4ba4
--- src/ngircd/irc-mode.c
+++ src/ngircd/irc-mode.c
@@ -440,6 +440,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori
 				ok = IRC_WriteStrClient(Origin,
 					ERR_NEEDMOREPARAMS_MSG,
 					Client_ID(Origin), Req->command);
+				goto chan_exit;
 			}
 			break;
 		case 'l': /* Member limit */
@@ -475,6 +476,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori
 				ok = IRC_WriteStrClient(Origin,
 					ERR_NEEDMOREPARAMS_MSG,
 					Client_ID(Origin), Req->command);
+				goto chan_exit;
 			}
 			break;
 		case 'P': /* Persistent channel */
@@ -519,6 +521,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Ori
 				ok = IRC_WriteStrClient(Origin,
 					ERR_NEEDMOREPARAMS_MSG,
 					Client_ID(Origin), Req->command);
+				goto chan_exit;
 			}
 			break;
 		/* --- Channel lists --- */