[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_ad
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str |
Date: |
Thu, 10 Mar 2016 09:54:41 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, 03/09 14:10, Peter Xu wrote:
> Use heap instead of stack.
>
> Signed-off-by: Peter Xu <address@hidden>
> ---
> hw/usb/dev-mtp.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
> index 7391783..cf63fd0 100644
> --- a/hw/usb/dev-mtp.c
> +++ b/hw/usb/dev-mtp.c
> @@ -718,7 +718,7 @@ static void usb_mtp_add_wstr(MTPData *data, const wchar_t
> *str)
> static void usb_mtp_add_str(MTPData *data, const char *str)
> {
> uint32_t len = strlen(str)+1;
> - wchar_t wstr[len];
> + wchar_t *wstr = g_malloc(sizeof(wchar_t) * len);
I think it is better to use g_new() in this case.
Fam
> size_t ret;
>
> ret = mbstowcs(wstr, str, len);
> @@ -727,6 +727,8 @@ static void usb_mtp_add_str(MTPData *data, const char
> *str)
> } else {
> usb_mtp_add_wstr(data, wstr);
> }
> +
> + g_free(wstr);
> }
>
> static void usb_mtp_add_time(MTPData *data, time_t time)
> --
> 2.4.3
>
>