From b008edae90eb57a7771197546fe6e80fa63369e8 Mon Sep 17 00:00:00 2001 From: Oliver Marks Date: Sat, 8 Sep 2018 21:55:36 +0100 Subject: [PATCH] Fix a crash in rednet `repeat` This crash can be triggered remotely by specially constructed rednet messages, making this a bit of a problem, as any repeaters can be remotely crashed. --- .../assets/computercraft/lua/rom/programs/rednet/repeat.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/computercraft/lua/rom/programs/rednet/repeat.lua b/src/main/resources/assets/computercraft/lua/rom/programs/rednet/repeat.lua index 653b398f4a..74585f0f3d 100644 --- a/src/main/resources/assets/computercraft/lua/rom/programs/rednet/repeat.lua +++ b/src/main/resources/assets/computercraft/lua/rom/programs/rednet/repeat.lua @@ -44,7 +44,7 @@ local ok, error = pcall( function() if sEvent == "modem_message" then -- Got a modem message, rebroadcast it if it's a rednet thing if nChannel == rednet.CHANNEL_REPEAT then - if type( tMessage ) == "table" and tMessage.nMessageID and tMessage.nRecipient then + if type( tMessage ) == "table" and tMessage.nMessageID and tMessage.nRecipient and type(tMessage.nRecipient) == "number" then if not tReceivedMessages[ tMessage.nMessageID ] then -- Ensure we only repeat a message once tReceivedMessages[ tMessage.nMessageID ] = true