Enhance performance and fix bug of the access array out of range.

This commit is contained in:
Mentalflow 2024-02-01 20:53:00 +08:00
parent 38a690e8ea
commit 05ebdfa562
Signed by: Mentalflow
GPG Key ID: 5AE68D4401A2EE71
3 changed files with 16 additions and 47 deletions

View File

@ -163,6 +163,8 @@ public:
void load_package(QList<uint8_t>& buf) { load_package(buf.constData(), buf.size()); };
void load_package(const uint8_t* buf, uint8_t length)
{
if (length < 7) // len < 7 means pkg is corrupted
return;
_packed_data.clear();
for (uint8_t i = 0; i < length; i++) {
_package.append(buf[i]);

View File

@ -143,12 +143,8 @@ Item{
{
deny.push(ZigBeeParser.wait_queue[list.current_index])
ZigBeeParser.deny_list = deny
for (var i = 0; i < ZigBeeParser.wait_queue.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.wait_queue[i])
}
data = ZigBeeParser.wait_queue
data.splice(list.current_index,1)
ZigBeeParser.wait_queue = data
break
}
@ -156,12 +152,8 @@ Item{
{
deny.push(ZigBeeParser.allow_list[list.current_index])
ZigBeeParser.deny_list = deny
for (let i = 0; i < ZigBeeParser.allow_list.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.allow_list[i])
}
data = ZigBeeParser.allow_list
data.splice(list.current_index,1)
ZigBeeParser.allow_list = data
break
}
@ -170,13 +162,8 @@ Item{
let allow = ZigBeeParser.allow_list
allow.push(ZigBeeParser.deny_list[list.current_index])
ZigBeeParser.allow_list = allow
let data = []
for (let i = 0; i < ZigBeeParser.deny_list.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.deny_list[i])
}
data = ZigBeeParser.deny_list
data.splice(list.current_index,1)
ZigBeeParser.deny_list = data
break
}
@ -196,37 +183,22 @@ Item{
let allow = ZigBeeParser.allow_list
allow.push(ZigBeeParser.wait_queue[list.current_index])
ZigBeeParser.allow_list = allow
var data = []
for (var i = 0; i < ZigBeeParser.wait_queue.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.wait_queue[i])
}
var data = ZigBeeParser.wait_queue
data.splice(list.current_index,1)
ZigBeeParser.wait_queue = data
break
}
case 1:
{
let data = []
for (let i = 0; i < ZigBeeParser.allow_list.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.allow_list[i])
}
let data = ZigBeeParser.allow_list
data.splice(list.current_index,1)
ZigBeeParser.allow_list = data
break
}
case 2:
{
let data = []
for (let i = 0; i < ZigBeeParser.deny_list.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.deny_list[i])
}
let data = ZigBeeParser.deny_list
data.splice(list.current_index,1)
ZigBeeParser.deny_list = data
break
}

View File

@ -111,13 +111,8 @@ Item {
text: qsTr("删除")
enabled: list.has_selected
onClicked: {
let data = []
for (let i = 0; i < ZigBeeParser.pre_hmac_verify_key.length; i++)
{
if (i === list.current_index)
continue
data.push(ZigBeeParser.pre_hmac_verify_key[i])
}
let data = ZigBeeParser.pre_hmac_verify_key
data.splice(list.current_index,1)
ZigBeeParser.pre_hmac_verify_key = data
}
}