diff --git a/firmware/controllers/gauges/malfunction_central.cpp b/firmware/controllers/gauges/malfunction_central.cpp index f3dc3a4900..bc4a0d9107 100644 --- a/firmware/controllers/gauges/malfunction_central.cpp +++ b/firmware/controllers/gauges/malfunction_central.cpp @@ -40,9 +40,12 @@ void addError(obd_code_e errorCode) { void removeError(obd_code_e errorCode) { int pos = find_position(errorCode); if (pos >= 0) { - for (int t = pos; t < error_codes_set.count; t++) // shift all right elements to one pos left + // shift all right elements to one pos left + for (int t = pos; t < error_codes_set.count - 1; t++) { error_codes_set.error_codes[t] = error_codes_set.error_codes[t + 1]; - error_codes_set.error_codes[--error_codes_set.count] = (obd_code_e)0; // place 0 + } + + error_codes_set.error_codes[--error_codes_set.count] = (obd_code_e)0; // place 0 } }