aeslib: Fix use-after-free in aeslib

If a USB transfer is started but not completed in one go, the wdata we
pass to continue_write_regv() will already be freed by the time we try
to use it again.

Only free() the wdata on error, or when the USB transfer is completed.

Closes: #180
2 jobs for wip/hadess/aeslib-crash in 2 minutes and 27 seconds (queued for 16 seconds)
Status Job ID Name Coverage
  Build
passed #486677
build

00:01:35

 
  Test
passed #486678
flatpak master

00:00:52