[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-1.4 04/12] qmp: Plug memory leaks in memchar
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH for-1.4 04/12] qmp: Plug memory leaks in memchar-write, memchar-read |
Date: |
Wed, 06 Feb 2013 17:11:54 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) |
Luiz Capitulino <address@hidden> writes:
> On Tue, 5 Feb 2013 17:22:07 +0100
> Markus Armbruster <address@hidden> wrote:
>
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> qemu-char.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/qemu-char.c b/qemu-char.c
>> index 892d5bb..9bf53e0 100644
>> --- a/qemu-char.c
>> +++ b/qemu-char.c
>> @@ -2782,6 +2782,10 @@ void qmp_memchar_write(const char *device, const char
>> *data,
>>
>> ret = cirmem_chr_write(chr, write_data, write_count);
>>
>> + if (write_data != (uint8_t *)data) {
>
> Minor, but wouldn't it be clearer to check against has_format and format?
I actually like it this way, because it makes it blatantly obvious that
write_data is either freed or owned by the caller.
>> + g_free((void *)write_data);
>> + }
>> +
>> if (ret < 0) {
>> error_setg(errp, "Failed to write to device %s", device);
>> return;
>> @@ -2825,6 +2829,7 @@ char *qmp_memchar_read(const char *device, int64_t
>> size,
>>
>> if (has_format && (format == DATA_FORMAT_BASE64)) {
>> data = g_base64_encode(read_data, count);
>> + g_free(read_data);
>> } else {
>> data = (char *)read_data;
>> }
- [Qemu-devel] [PATCH for-1.4 00/12] Fix memchar-read/-write before API gets released, Markus Armbruster, 2013/02/05
- [Qemu-devel] [PATCH for-1.4 04/12] qmp: Plug memory leaks in memchar-write, memchar-read, Markus Armbruster, 2013/02/05
- [Qemu-devel] [PATCH for-1.4 03/12] qmp: Clean up type usage in qmp_memchar_write(), qmp_memchar_read(), Markus Armbruster, 2013/02/05
- [Qemu-devel] [PATCH for-1.4 02/12] qmp: Clean up design of memchar-read, Markus Armbruster, 2013/02/05
- [Qemu-devel] [PATCH for-1.4 06/12] qmp: Drop wasteful zero-initialization in qmp_memchar_read(), Markus Armbruster, 2013/02/05
- [Qemu-devel] [PATCH for-1.4 07/12] qemu-char: Fix chardev "memory" not to drop IAC characters, Markus Armbruster, 2013/02/05