[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 02/28] glib-compat: Introduce g_memdup2() wrapper
From: |
Eric Blake |
Subject: |
Re: [PATCH v3 02/28] glib-compat: Introduce g_memdup2() wrapper |
Date: |
Fri, 3 Sep 2021 15:37:19 -0500 |
User-agent: |
NeoMutt/20210205-739-420e15 |
On Fri, Sep 03, 2021 at 07:44:44PM +0200, Philippe Mathieu-Daudé wrote:
> When experimenting raising GLIB_VERSION_MIN_REQUIRED to 2.68
> (Fedora 34 provides GLib 2.68.1) we get:
>
> hw/virtio/virtio-crypto.c:245:24: error: 'g_memdup' is deprecated: Use
> 'g_memdup2' instead [-Werror,-Wdeprecated-declarations]
> ...
>
> g_memdup() has been updated by g_memdup2() to fix eventual security
> issues (size argument is 32-bit and could be truncated / wrapping).
> GLib recommends to copy their static inline version of g_memdup2():
> https://discourse.gnome.org/t/port-your-module-from-g-memdup-to-g-memdup2-now/5538
>
> Our glib-compat.h provides a comment explaining how to deal with
> these deprecated declarations (see commit e71e8cc0355
> "glib: enforce the minimum required version and warn about old APIs").
>
> Following this comment suggestion, implement the g_memdup2_qemu()
> wrapper to g_memdup2(), and use the safer equivalent inlined when
> we are using pre-2.68 GLib.
>
> Reported-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> include/glib-compat.h | 37 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
- [PATCH v3 00/28] glib: Replace g_memdup() by g_memdup2(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 01/28] hw/hyperv/vmbus: Remove unused vmbus_load/save_req(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 02/28] glib-compat: Introduce g_memdup2() wrapper, Philippe Mathieu-Daudé, 2021/09/03
- Re: [PATCH v3 02/28] glib-compat: Introduce g_memdup2() wrapper,
Eric Blake <=
- [PATCH v3 03/28] qapi: Replace g_memdup() by g_memdup2(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 04/28] accel/tcg: Replace g_memdup() by g_memdup2(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 05/28] block/qcow2-bitmap: Replace g_memdup() by g_memdup2(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 06/28] softmmu: Replace g_memdup() by g_memdup2(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 07/28] hw/9pfs: Replace g_memdup() by g_memdup2(), Philippe Mathieu-Daudé, 2021/09/03
- [PATCH v3 08/28] hw/acpi: Avoid truncating acpi_data_len() to 32-bit, Philippe Mathieu-Daudé, 2021/09/03