serial: fix memory leak in serial exit

The serial_exit_core function doesn't free some resources.
This can lead memory leak when hotplug and unplug. This
patch avoid this.

Signed-off-by: Li Qiang <liqiang6-s@360.cn>
Message-Id: <586cb5ab.f31d9d0a.38ac3.acf2@mx.google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Li Qiang 2017-01-04 00:43:16 -08:00 committed by Paolo Bonzini
parent 1f8af0d186
commit 8409dc884a
1 changed files with 10 additions and 0 deletions

View File

@ -906,6 +906,16 @@ void serial_realize_core(SerialState *s, Error **errp)
void serial_exit_core(SerialState *s)
{
qemu_chr_fe_deinit(&s->chr);
timer_del(s->modem_status_poll);
timer_free(s->modem_status_poll);
timer_del(s->fifo_timeout_timer);
timer_free(s->fifo_timeout_timer);
fifo8_destroy(&s->recv_fifo);
fifo8_destroy(&s->xmit_fifo);
qemu_unregister_reset(serial_reset, s);
}