diff --git a/APP/main.c b/APP/main.c index 23128ec..4e9484a 100644 --- a/APP/main.c +++ b/APP/main.c @@ -206,20 +206,20 @@ int main(int argc, char *argv[]) { if (cJSON_IsString(idJS) && (idJS->valuestring != NULL)) { printf("id (JSON): %s\n", idJS->valuestring); - char VIN[17] = {0}; + char VIN[18] = {0}; - if (strlen(idJS->valuestring) > sizeof(VIN)) { + if (strlen(idJS->valuestring) > (sizeof(VIN) - 1)) { printf("Length error id\n"); fflush(stdout); return 1; } - memset(VIN, '0', sizeof(VIN)); + memset(VIN, '0', sizeof(VIN) - 1); - memcpy(&VIN[sizeof(VIN) - strlen(idJS->valuestring)], idJS->valuestring, strlen(idJS->valuestring)); + memcpy(&VIN[sizeof(VIN) - 1 - strlen(idJS->valuestring)], idJS->valuestring, strlen(idJS->valuestring)); // memcpy(&VIN[5], "1111111111", 10); - EraGlonassMsdSetVIN(&msd, VIN, sizeof(VIN)); + EraGlonassMsdSetVIN(&msd, VIN, sizeof(VIN) - 1); printf("id (VIN): %s\n", VIN);