Skip to content

Commit 18c9e88

Browse files
authored
Merge pull request commaai#238 from commaai/misra_17_8
Misra 17.8: a function parameter should not be modified
2 parents 7ac321d + 7cd80de commit 18c9e88

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

board/drivers/gmlan_alt.h

+12-9
Original file line numberDiff line numberDiff line change
@@ -49,27 +49,30 @@ int append_crc(char *in, int in_len) {
4949
}
5050
crc &= 0x7fffU;
5151
}
52+
int in_len_copy = in_len;
5253
for (int i = 14; i >= 0; i--) {
53-
in[in_len] = (crc >> (unsigned int)(i)) & 1U;
54-
in_len++;
54+
in[in_len_copy] = (crc >> (unsigned int)(i)) & 1U;
55+
in_len_copy++;
5556
}
56-
return in_len;
57+
return in_len_copy;
5758
}
5859

5960
int append_bits(char *in, int in_len, char *app, int app_len) {
61+
int in_len_copy = in_len;
6062
for (int i = 0; i < app_len; i++) {
61-
in[in_len] = app[i];
62-
in_len++;
63+
in[in_len_copy] = app[i];
64+
in_len_copy++;
6365
}
64-
return in_len;
66+
return in_len_copy;
6567
}
6668

6769
int append_int(char *in, int in_len, int val, int val_len) {
70+
int in_len_copy = in_len;
6871
for (int i = val_len-1; i >= 0; i--) {
69-
in[in_len] = ((unsigned int)(val) & (1U << (unsigned int)(i))) != 0;
70-
in_len++;
72+
in[in_len_copy] = ((unsigned int)(val) & (1U << (unsigned int)(i))) != 0;
73+
in_len_copy++;
7174
}
72-
return in_len;
75+
return in_len_copy;
7376
}
7477

7578
int get_bit_message(char *out, CAN_FIFOMailBox_TypeDef *to_bang) {

board/drivers/uart.h

+7-6
Original file line numberDiff line numberDiff line change
@@ -307,22 +307,23 @@ void putch(const char a) {
307307
}
308308

309309
void puts(const char *a) {
310-
for (;*a;a++) {
311-
if (*a == '\n') putch('\r');
312-
putch(*a);
310+
for (const char *in = a; *in; in++) {
311+
if (*in == '\n') putch('\r');
312+
putch(*in);
313313
}
314314
}
315315

316316
void putui(uint32_t i) {
317+
uint32_t i_copy = i;
317318
char str[11];
318319
uint8_t idx = 10;
319320
str[idx] = '\0';
320321
idx--;
321322
do {
322-
str[idx] = (i % 10) + 0x30;
323+
str[idx] = (i_copy % 10) + 0x30;
323324
idx--;
324-
i /= 10;
325-
} while (i != 0);
325+
i_copy /= 10;
326+
} while (i_copy != 0);
326327
puts(str + idx + 1);
327328
}
328329

0 commit comments

Comments
 (0)