mirror of
https://github.com/opentx/opentx.git
synced 2025-07-26 09:45:21 +03:00
memcpy overflow
This commit is contained in:
parent
21552e8899
commit
05e89a6a45
1 changed files with 16 additions and 19 deletions
|
@ -1113,29 +1113,26 @@ void menuModelSetup(event_t event)
|
|||
case ITEM_MODEL_INTERNAL_MODULE_RECEIVER_2_BIND:
|
||||
{
|
||||
uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k);
|
||||
|
||||
lcdDrawTextAlignedLeft(y, INDENT "Receiver");
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_BIND, menuHorizontalPosition==0 ? attr : 0);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN+MODEL_SETUP_RANGE_OFS, y, STR_DEL_BUTTON, menuHorizontalPosition==1 ? attr : 0);
|
||||
if (attr && menuHorizontalPosition == 0) {
|
||||
if (s_editMode > 0) {
|
||||
if (BLINK_ON_PHASE)
|
||||
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_BIND;
|
||||
else
|
||||
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER;
|
||||
if (attr) {
|
||||
if (menuHorizontalPosition == 0) {
|
||||
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||
moduleSettings[INTERNAL_MODULE].mode ^= MODULE_MODE_BIND;
|
||||
}
|
||||
s_editMode = (moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_BIND);
|
||||
}
|
||||
else
|
||||
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_NORMAL;
|
||||
}
|
||||
if (attr && menuHorizontalPosition == 1 && s_editMode > 0) {
|
||||
if(receiverIdx == 0) {
|
||||
memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0], &g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1], sizeof(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers));
|
||||
memclear(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1], sizeof(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers));
|
||||
s_editMode = 0;
|
||||
}
|
||||
else {
|
||||
memclear(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx], sizeof(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers));
|
||||
s_editMode = 0;
|
||||
else if (menuHorizontalPosition == 1 && s_editMode > 0) {
|
||||
if (receiverIdx == 0) {
|
||||
memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0],
|
||||
&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1], sizeof(ReceiverData));
|
||||
memclear(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1], sizeof(ReceiverData));
|
||||
s_editMode = 0;
|
||||
} else {
|
||||
memclear(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx], sizeof(ReceiverData));
|
||||
s_editMode = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue