replay: Avoid double free of primary surface
replay: Avoid double free of primary surface

read_binary() attaches 'mem' to the SpiceReplay::allocated list.

On failure, SpiceReplay::allocated and its content are freed by
spice_replay_free().

SpiceReplay::primary_mem is also freed, which causes a double free
as replay_handle_create_primary() added 'mem' both to
SpiceReplay::primary_mem and SpiceReplay::allocated.

This commit avoids this by ensuring SpiceReplay::primary_mem is not
kept in the SpiceReplay::allocated list.

Note that this double free can happen only on currupted or wrong
record images.

Signed-off-by: Frediano Ziglio <55d48b080b2e443e395cde84d2c83b135a4ff48e@redhat.com>
Acked-by: Christophe Fergeau <05b95054a663c388a4e33d95828cb30f0370f8ef@redhat.com>

fgouget/spice,fgouget/spice,fgouget/spice,fgouget/spice