From df4e880d8be157896e45753e27fa929c80664749 Mon Sep 17 00:00:00 2001
From: ne-vlezay80 <ne-vlezay80@yandex.ru>
Date: Tue, 6 Nov 2018 11:48:44 +0300
Subject: [PATCH] Fix crash in microcontroller (#439)

Add check nil var with bug from crash server.
fixes #438
---
 mesecons_microcontroller/init.lua | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/mesecons_microcontroller/init.lua b/mesecons_microcontroller/init.lua
index 9b1bf3b..f9ba979 100644
--- a/mesecons_microcontroller/init.lua
+++ b/mesecons_microcontroller/init.lua
@@ -571,6 +571,7 @@ yc.command_parsecondition = function(cond, L, eeprom)
 		if cond:sub(i+1, i+1) == nil then break end
 		if s == "&" then
 			if a==nil then return nil end
+			if b==nil then return nil end
 			local buf = ((a==1) and (b==1))
 			if buf == true  then buf = "1" end
 			if buf == false then buf = "0" end
@@ -580,6 +581,7 @@ yc.command_parsecondition = function(cond, L, eeprom)
 		end
 		if s == "|" then
 			if a==nil then return nil end
+			if b==nil then return nil end
 			local buf = ((a == 1) or (b == 1))
 			if buf == true  then buf = "1" end
 			if buf == false then buf = "0" end
@@ -589,6 +591,7 @@ yc.command_parsecondition = function(cond, L, eeprom)
 		end
 		if s == "~" then
 			if a==nil then return nil end
+			if b==nil then return nil end
 			local buf = (((a == 1) or (b == 1)) and not((a==1) and (b==1)))
 			if buf == true  then buf = "1" end
 			if buf == false then buf = "0" end
-- 
GitLab