usb/mtp: avoid dynamic stack allocation
authorGerd Hoffmann <kraxel@redhat.com>
Mon, 3 May 2021 13:29:13 +0000 (15:29 +0200)
committerwanchao-xu <wanchao.xu@samsung.com>
Tue, 9 Jan 2024 11:56:24 +0000 (19:56 +0800)
Git-commit: 06aa50c06c6392084244f8169d34b8e2d9c43ef2
References: bsc#1186012, CVE-2021-3527

Use autofree heap allocation instead.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210503132915.2335822-4-kraxel@redhat.com>
Signed-off-by: Jose R Ziviani <jose.ziviani@suse.com>
hw/usb/dev-mtp.c

index 13815df4737ef8f46e6f857153b1b9668cf2581a..02bcb377f6f1cd0053808ad80ee5233d1a9b6eee 100644 (file)
@@ -906,7 +906,8 @@ static MTPData *usb_mtp_get_object_handles(MTPState *s, MTPControl *c,
                                            MTPObject *o)
 {
     MTPData *d = usb_mtp_data_alloc(c);
-    uint32_t i = 0, handles[o->nchildren];
+    uint32_t i = 0;
+    g_autofree uint32_t *handles = g_new(uint32_t, o->nchildren);
     MTPObject *iter;
 
     trace_usb_mtp_op_get_object_handles(s->dev.addr, o->handle, o->path);