mirror of
https://github.com/osmarks/ngircd.git
synced 2025-01-07 14:20:29 +00:00
Channel modes: really break handling when MAX_CMODES_ARG is hit
This fixes 98493077
.
This commit is contained in:
parent
98493077a2
commit
888664435a
@ -492,7 +492,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
|
|||||||
break;
|
break;
|
||||||
case 'k': /* Channel key */
|
case 'k': /* Channel key */
|
||||||
if (mode_arg_count++ >= MAX_CMODES_ARG)
|
if (mode_arg_count++ >= MAX_CMODES_ARG)
|
||||||
break;
|
goto chan_exit;
|
||||||
if (!set) {
|
if (!set) {
|
||||||
if (modeok)
|
if (modeok)
|
||||||
x[0] = *mode_ptr;
|
x[0] = *mode_ptr;
|
||||||
@ -528,7 +528,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
|
|||||||
break;
|
break;
|
||||||
case 'l': /* Member limit */
|
case 'l': /* Member limit */
|
||||||
if (mode_arg_count++ >= MAX_CMODES_ARG)
|
if (mode_arg_count++ >= MAX_CMODES_ARG)
|
||||||
break;
|
goto chan_exit;
|
||||||
if (!set) {
|
if (!set) {
|
||||||
if (modeok)
|
if (modeok)
|
||||||
x[0] = *mode_ptr;
|
x[0] = *mode_ptr;
|
||||||
@ -640,7 +640,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
|
|||||||
case 'I': /* Invite lists */
|
case 'I': /* Invite lists */
|
||||||
case 'b': /* Ban lists */
|
case 'b': /* Ban lists */
|
||||||
if (mode_arg_count++ >= MAX_CMODES_ARG)
|
if (mode_arg_count++ >= MAX_CMODES_ARG)
|
||||||
break;
|
goto chan_exit;
|
||||||
if (arg_arg > mode_arg) {
|
if (arg_arg > mode_arg) {
|
||||||
/* modify list */
|
/* modify list */
|
||||||
if (modeok) {
|
if (modeok) {
|
||||||
|
Loading…
Reference in New Issue
Block a user