Posted 25 August 2014 - 06:40 PM
VERSION:
ComputerCraft 1.6x
DESCRIPTION:
Can crash any computer with an open rednet modem by broadcasting an empty "dns" message from another computer. Also, any program can crash the computer it's running on simply by queueing a correctly formed "rednet_message" event.
EXPECTED RESULT:
No crash :P/>
REPRODUCTION STEPS:
Get any computer, turtle or pocket computer with a wireless modem and open rednet on that modem. On another computer with a wireless modem also, use the code:
This is also done by queueing the event:
SCREENSHOT/VIDEO:
None
CAUSE:
In the rednet.run function, when a "rednet_message" event is fired it doesn't check if tMessage is a table before trying to index sType to see if it is a "lookup" message.
ComputerCraft 1.6x
DESCRIPTION:
Can crash any computer with an open rednet modem by broadcasting an empty "dns" message from another computer. Also, any program can crash the computer it's running on simply by queueing a correctly formed "rednet_message" event.
EXPECTED RESULT:
No crash :P/>
REPRODUCTION STEPS:
Get any computer, turtle or pocket computer with a wireless modem and open rednet on that modem. On another computer with a wireless modem also, use the code:
rednet.open(modemSide)
rednet.broadcast(0, "dns")
The first computer receives this message on it's open modem and it crashes the rednet.run coroutine ran from the bios.This is also done by queueing the event:
os.queueEvent("rednet_message", 0, 0, "dns")
on any computer, again crashing the rednet.run coroutine.SCREENSHOT/VIDEO:
None
CAUSE:
In the rednet.run function, when a "rednet_message" event is fired it doesn't check if tMessage is a table before trying to index sType to see if it is a "lookup" message.