[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 02/28] io: avoid double-free when closing QIO
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v4 02/28] io: avoid double-free when closing QIOChannelBuffer |
Date: |
Mon, 14 Mar 2016 19:43:32 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
* Daniel P. Berrange (address@hidden) wrote:
> The QIOChannelBuffer's close implementation will free
> the internal data buffer. It failed to reset the pointer
> to NULL though, so when the object is later finalized
> it will free it a second time with predictable crash.
>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> io/channel-buffer.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/io/channel-buffer.c b/io/channel-buffer.c
> index 3e5117b..43d7959 100644
> --- a/io/channel-buffer.c
> +++ b/io/channel-buffer.c
> @@ -140,6 +140,7 @@ static int qio_channel_buffer_close(QIOChannel *ioc,
> QIOChannelBuffer *bioc = QIO_CHANNEL_BUFFER(ioc);
>
> g_free(bioc->data);
> + bioc->data = NULL;
> bioc->capacity = bioc->usage = bioc->offset = 0;
Would it be better to call qui_channel_buffer_finalize(bioc) here,
and put the data = NULL in there?
(You could split this out of the series since it could go in any time?)
Dave
>
> return 0;
> --
> 2.5.0
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
- [Qemu-devel] [PATCH v4 00/28] Convert migration to QIOChannel & support TLS, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 01/28] s390: use FILE instead of QEMUFile for creating text file, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 04/28] migration: ensure qemu_fflush() always writes full data amount, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 02/28] io: avoid double-free when closing QIOChannelBuffer, Daniel P. Berrange, 2016/03/11
- Re: [Qemu-devel] [PATCH v4 02/28] io: avoid double-free when closing QIOChannelBuffer,
Dr. David Alan Gilbert <=
- [Qemu-devel] [PATCH v4 03/28] migration: remove use of qemu_bufopen from vmstate tests, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 06/28] migration: introduce set_blocking function in QEMUFileOps, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 05/28] migration: split migration hooks out of QEMUFileOps, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 08/28] migration: introduce a new QEMUFile impl based on QIOChannel, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 07/28] migration: force QEMUFile to blocking mode for outgoing migration, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 10/28] migration: add reporting of errors for outgoing migration, Daniel P. Berrange, 2016/03/11
- [Qemu-devel] [PATCH v4 11/28] migration: convert post-copy to use QIOChannelBuffer, Daniel P. Berrange, 2016/03/11