Fix pointer corruption for multi LED commands

Fixes #332 by null-terminating the hex char arrays.
This commit is contained in:
Dale Higgs 2019-02-14 18:07:46 -06:00 committed by GitHub
parent 1578cafbf0
commit a883b83069
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -148,6 +148,9 @@ void handleSetSingleLED(uint8_t * mypayload, uint8_t firstChar = 0) {
strncpy (redhex, (const char *) &mypayload[2 + firstChar], 2 );
strncpy (greenhex, (const char *) &mypayload[4 + firstChar], 2 );
strncpy (bluehex, (const char *) &mypayload[6 + firstChar], 2 );
redhex[2] = 0x00;
greenhex[2] = 0x00;
bluehex[2] = 0x00;
ledstates[led].red = strtol(redhex, NULL, 16);
ledstates[led].green = strtol(greenhex, NULL, 16);
ledstates[led].blue = strtol(bluehex, NULL, 16);