mIRC Home    About    Download    Register    News    Help

Print Thread
mIRC crash when parameter exceeds certain length #127734 16/08/05 12:48 PM
Joined: Feb 2004
Posts: 2,019
FiberOPtics Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Feb 2004
Posts: 2,019
Tested for mIRC 6.16. For 6.15. it seems to act weird, it normally doesn't crash immediately, only after a few tries. However, once you've got it crashing once, it will keep crashing after that, atleast on my computer.

mIRC will crash instantly if you have anything as right parameter in a if/while condition that exceeds a certain length, which should be around 999 characters.

Try this on a seperate mIRC, because it will make it crash.

//if (. == $str(.,949) $str(.,50)) echo yes

If you change the second parameter of the second $str to 49, it will not crash.

Note that the char used in $str is irrelevant, as long as it is at 999 chars or more in the right parameter it crashes. The operator is of no relevance, it will happen with any operator.

Note that if the $str's are put on the left side of the condition, this does not happen.
//if ($str(.,940) $str(.,150) !isin .) echo yes, will work fine.

I don't know if this has been reported before, because frankly, I have no idea what search parameters to use for this. I've used "+crash", and that gave endless results, did not find any title that seemed related to this.


Gone.
Re: mIRC crash when parameter exceeds certain leng #127735 16/08/05 12:58 PM
Joined: Jan 2003
Posts: 249
C
ClickHeRe Offline
Fjord artisan
Offline
Fjord artisan
C
Joined: Jan 2003
Posts: 249
Crashes here too.

There is probably a buffer that is unckecked by mIRC for the length as we all know that mIRC is limited to something around 955 bytes in length (which in my opinion should be extended to something of the order of 4KB).

I don't know what's keeping him from doing it apart from the fact that this length might be hardcoded everywhere and it's too much of a hastle to change all the code to support another value.

Last edited by ClickHeRe; 16/08/05 02:09 PM.
Re: mIRC crash when parameter exceeds certain leng #127736 16/08/05 01:08 PM
Joined: Feb 2004
Posts: 2,019
FiberOPtics Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Feb 2004
Posts: 2,019
I found it odd that it could go up to 998 chars without crashing, whilst the variable limit is normally maximum 949 chars. From 999 bytes on it crashes.

Yes I would love to see the variable limit removed or atleast extended, but I don't see it happening.


Gone.
Re: mIRC crash when parameter exceeds certain leng #127737 16/08/05 06:21 PM
Joined: Aug 2005
Posts: 128
S
stefys99 Offline
Vogon poet
Offline
Vogon poet
S
Joined: Aug 2005
Posts: 128
Crashes here too smile
Quote:
I found it odd that it could go up to 998 chars without crashing, whilst the variable limit is normally maximum 949 chars. From 999 bytes on it crashes.

Yes I would love to see the variable limit removed or atleast extended, but I don't see it happening.

Well, the variables should have unlimited size, like most serious scripting languages (PHP, Perl, etc)

EDIT: He can't crash 6.14. The bug is only in 6.15-6.16

Last edited by stefys99; 16/08/05 06:27 PM.
Re: mIRC crash when parameter exceeds certain leng #127738 16/08/05 07:33 PM
Joined: Feb 2004
Posts: 2,019
FiberOPtics Offline OP
Hoopy frood
OP Offline
Hoopy frood
Joined: Feb 2004
Posts: 2,019
I had it crash on 6.14 also, it just took a little longer before it crashed, it's definitely different from .16 where it crashes instantly.

On 6.14, when I did: //if (. isin $str(.,949) $str(.,949)) echo crash

it crashed after issuing that command a few times.


Gone.
Re: mIRC crash when parameter exceeds certain leng #127739 16/08/05 10:24 PM
Joined: Aug 2005
Posts: 128
S
stefys99 Offline
Vogon poet
Offline
Vogon poet
S
Joined: Aug 2005
Posts: 128
Quote:
I had it crash on 6.14 also, it just took a little longer before it crashed, it's definitely different from .16 where it crashes instantly.

On 6.14, when I did: //if (. isin $str(.,949) $str(.,949)) echo crash

it crashed after issuing that command a few times.

Oh sorry, I wrote the command wrong smile

EDIT: It still didn't crash my 6.14...
I tried:
//timer 500 0 $(if (. == $str(.,949) $str(.,50)) echo ok,) | echo $version
and I got:
Code:
* Timer 1 activated
-
6.14
-
* Timer 1 halted

But no crash frown

Last edited by stefys99; 16/08/05 11:00 PM.
Re: mIRC crash when parameter exceeds certain leng #127740 18/08/05 04:04 PM
Joined: Sep 2003
Posts: 84
T
Turbo_boy Offline
Babel fish
Offline
Babel fish
T
Joined: Sep 2003
Posts: 84
If I do //if (. isin $str(.,949) $str(.,949)) echo crash
on my irc client (6.16) it crasht to smirk

Re: mIRC crash when parameter exceeds certain leng #127741 18/08/05 08:23 PM
Joined: Aug 2005
Posts: 128
S
stefys99 Offline
Vogon poet
Offline
Vogon poet
S
Joined: Aug 2005
Posts: 128
Quote:
If I do //if (. isin $str(.,949) $str(.,949)) echo crash
on my irc client (6.16) it crasht to smirk

Yes, that worked smile