1)
Der Speicher für das Stringarray ist zu klein, weil in parse das i um 1 zu klein ist.
Deshalb musst du auch
for (j = 1; j<=i; j++)
und
for (uint8_t k = 0; k<=cmd.count; k++)
schreiben, obwohl in beiden Fällen eigentlich ein "<" statt des "<=" richtig wäre.
2)Code:char *cmd_backup = (char *) malloc( strlen((char *)cmd.command) * sizeof(char)+1 ); ... return PARSE_ERROR; // MÖGLICHES SPEICHERLECK ... free(cmd_backup); //allozierten Speicher freigeben.
Lesezeichen