Commit Diff


commit - 54b17fc20162941d03a17ddf78706c5fdc5cfff4
commit + 523a6fad097cedd31a6931a29d91bab0d391df63
blob - a4eca1f18425f0b79a05ef225f129544b1f1f75d
blob + 32f911a200f6269eed0f51420a8523ea980c0b78
--- src/ngircd/channel.c
+++ src/ngircd/channel.c
@@ -218,11 +218,16 @@ Channel_Part(CLIENT * Client, CLIENT * Origin, const c
 	assert(Reason != NULL);
 
 	chan = Channel_Search(Name);
-	if ((!chan) || (!Get_Cl2Chan(chan, Client))) {
+	if (!chan) {
 		IRC_WriteStrClient(Client, ERR_NOSUCHCHANNEL_MSG,
 				   Client_ID(Client), Name);
 		return false;
 	}
+	if (!Get_Cl2Chan(chan, Client)) {
+		IRC_WriteStrClient(Client, ERR_NOTONCHANNEL_MSG,
+				   Client_ID(Client), Name);
+		return false;
+	}
 
 	if (!Remove_Client(REMOVE_PART, chan, Client, Origin, Reason, true))
 		return false;