diff --git a/dummyflasher.c b/dummyflasher.c index 2f39c9888..4661f3d3e 100644 --- a/dummyflasher.c +++ b/dummyflasher.c @@ -668,6 +668,7 @@ int dummy_init(void) #if EMULATE_CHIP struct stat image_stat; #endif + char *endptr; struct emu_data *data = calloc(1, sizeof(struct emu_data)); if (!data) { @@ -710,9 +711,9 @@ int dummy_init(void) tmp = extract_programmer_param("spi_write_256_chunksize"); if (tmp) { - data->spi_write_256_chunksize = atoi(tmp); + data->spi_write_256_chunksize = strtoul(tmp, &endptr, 0); free(tmp); - if (data->spi_write_256_chunksize < 1) { + if (*endptr != '\0' || data->spi_write_256_chunksize < 1) { msg_perr("invalid spi_write_256_chunksize\n"); return 1; } @@ -977,7 +978,6 @@ int dummy_init(void) #ifdef EMULATE_SPI_CHIP status = extract_programmer_param("spi_status"); if (status) { - char *endptr; errno = 0; data->emu_status = strtoul(status, &endptr, 0); free(status);