target: Fix unconsistant use of tmplen.

This commit is contained in:
Uwe Bonnes 2017-10-04 14:28:58 +02:00
parent 72c86f939e
commit 25610e5ec5
1 changed files with 3 additions and 2 deletions

View File

@ -216,13 +216,14 @@ int target_flash_write(target *t,
size_t tmplen = MIN(len, f->length - (dest % f->length));
if (f->align > 1) {
uint32_t offset = dest % f->align;
uint8_t data[ALIGN(offset + len, f->align)];
uint8_t data[ALIGN(offset + tmplen, f->align)];
memset(data, f->erased, sizeof(data));
memcpy((uint8_t *)data + offset, src, len);
memcpy((uint8_t *)data + offset, src, tmplen);
ret |= f->write(f, dest - offset, data, sizeof(data));
} else {
ret |= f->write(f, dest, src, tmplen);
}
dest += tmplen;
src += tmplen;
len -= tmplen;
}