From 035bc2d4fec7c7f2a6806b059ae548451f02aeff Mon Sep 17 00:00:00 2001 From: Bart Van Der Meerssche Date: Fri, 28 Jan 2011 16:30:50 +0100 Subject: [PATCH] [avr] cmd parameter checking for enable/disable --- mote/v2/avr/ctrl.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/mote/v2/avr/ctrl.c b/mote/v2/avr/ctrl.c index 692cb31..0820311 100644 --- a/mote/v2/avr/ctrl.c +++ b/mote/v2/avr/ctrl.c @@ -289,8 +289,11 @@ void ctrlCmdGet(uint8_t cmd) case 'e': /* port enabled | disabled */ ctrlReadCharFromRxBuffer(&i); - ctrlWriteCharToTxBuffer(i); - ctrlWriteCharToTxBuffer((enabled >> i) & 0x01); + + if (i < MAX_SENSORS) { + ctrlWriteCharToTxBuffer(i); + ctrlWriteCharToTxBuffer((enabled >> i) & 0x01); + } break; case 'p': /* phy-to-logical mapping */ @@ -374,17 +377,20 @@ void ctrlCmdSet(uint8_t cmd) case 'e': /* port enabled | disabled */ ctrlReadCharFromRxBuffer(&i); - ctrlReadCharFromRxBuffer(&tmp8); - if (tmp8) { - enabled |= (1 << i); - } - else { - enabled &= ~(1 << i); - } + if (i < MAX_SENSORS) { + ctrlReadCharFromRxBuffer(&tmp8); - ctrlWriteCharToTxBuffer(i); - ctrlWriteCharToTxBuffer((enabled >> i) & 0x01); + if (tmp8) { + enabled |= (1 << i); + } + else { + enabled &= ~(1 << i); + } + + ctrlWriteCharToTxBuffer(i); + ctrlWriteCharToTxBuffer((enabled >> i) & 0x01); + } break; case 'p': /* phy-to-logical mapping */