#0 sock.rq 2
#1 "" -- sockbr 2 -- sock.rq 0
#2 "ea" -- sockbr 0 -- sock.rq 0
#3 "" -- sockbr 0 -- sock.rq 0
alias testsw {
sockclose testsw
socklisten testsw 8005
.timer 1 1 sockopen testsw2 127.0.0.1 8005
}
on *:sockopen:testsw2:if (!$sockerr) sockwrite -n testsw2
on *:socklisten:testsw:if (!$sockerr) sockaccept testsw1
on *:sockread:testsw1:{
if (!$sockerr) {
var %a
echo -a #0 sock.rq $sock($sockname).rq
sockread -f %a
echo -a #1 $qt(%a) -- sockbr $sockbr -- sock.rq $sock($sockname).rq
sockread -f %a
echo -a #2 $qt(%a) -- sockbr $sockbr -- sock.rq $sock($sockname).rq
sockread -f %a
echo -a #3 $qt(%a) -- sockbr $sockbr -- sock.rq $sock($sockname).rq
sockclose testsw*
}
}
All you need to reproduce is a NULL byte somewhere in memory
After restarting mIRC #2 appears as $null