Index: firmware/App/Drivers/GLXferPump.c =================================================================== diff -u -r3a8cf075eb6f0d255f516ac26bac7fbaacfde14a -r87d705fcf977af12b7b034735fa5867f2daea2b9 --- firmware/App/Drivers/GLXferPump.c (.../GLXferPump.c) (revision 3a8cf075eb6f0d255f516ac26bac7fbaacfde14a) +++ firmware/App/Drivers/GLXferPump.c (.../GLXferPump.c) (revision 87d705fcf977af12b7b034735fa5867f2daea2b9) @@ -70,7 +70,7 @@ } else { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_AIR_PUMP_INVALID_MOTOR_STATE_SELECTED, (U32)state ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_TD_SOFTWARE_FAULT, SW_FAULT_ID_TD_AIR_PUMP_INVALID_STATE, (U32)state ) } } @@ -109,14 +109,17 @@ // Verify tester has logged in with TD and override type is valid if ( TRUE == isTestingActivated() ) { - U32 state; - - memcpy( &state, message->payload, sizeof(U32) ); - result = TRUE; - if ( state < NUM_OF_AIR_PUMP_MOTOR_STATES ) + // Verify payload length is valid + if ( sizeof( U32 ) == message->hdr.payloadLen ) { - setAirPumpMotorState( (AIR_PUMP_MOTOR_STATE_T)state ); - result = TRUE; + U32 state; + + memcpy( &state, message->payload, sizeof(U32) ); + if ( state < NUM_OF_AIR_PUMP_MOTOR_STATES ) + { + setAirPumpMotorState( (AIR_PUMP_MOTOR_STATE_T)state ); + result = TRUE; + } } }