qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/2] usb: trivial fixes
@ 2016-03-09  6:10 Peter Xu
  2016-03-09  6:10 ` [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str Peter Xu
  2016-03-09  6:10 ` [Qemu-devel] [PATCH 2/2] usb: trivial cleanup " Peter Xu
  0 siblings, 2 replies; 8+ messages in thread
From: Peter Xu @ 2016-03-09  6:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, kraxel, peterx

Both for usb_mtp_add_str: fix unbounded stack for it, also cleanup
one variable.

Peter Xu (2):
  usb: fix unbound stack usage for usb_mtp_add_str
  usb: trivial cleanup for usb_mtp_add_str

 hw/usb/dev-mtp.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
2.4.3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str
  2016-03-09  6:10 [Qemu-devel] [PATCH 0/2] usb: trivial fixes Peter Xu
@ 2016-03-09  6:10 ` Peter Xu
  2016-03-10  1:54   ` Fam Zheng
  2016-03-09  6:10 ` [Qemu-devel] [PATCH 2/2] usb: trivial cleanup " Peter Xu
  1 sibling, 1 reply; 8+ messages in thread
From: Peter Xu @ 2016-03-09  6:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, kraxel, peterx

Use heap instead of stack.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 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);
     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

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Qemu-devel] [PATCH 2/2] usb: trivial cleanup for usb_mtp_add_str
  2016-03-09  6:10 [Qemu-devel] [PATCH 0/2] usb: trivial fixes Peter Xu
  2016-03-09  6:10 ` [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str Peter Xu
@ 2016-03-09  6:10 ` Peter Xu
  2016-03-10  1:56   ` Fam Zheng
  1 sibling, 1 reply; 8+ messages in thread
From: Peter Xu @ 2016-03-09  6:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, kraxel, peterx

Remove useless var "ret".

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 hw/usb/dev-mtp.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index cf63fd0..38cc4fc 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -719,10 +719,8 @@ static void usb_mtp_add_str(MTPData *data, const char *str)
 {
     uint32_t len = strlen(str)+1;
     wchar_t *wstr = g_malloc(sizeof(wchar_t) * len);
-    size_t ret;
 
-    ret = mbstowcs(wstr, str, len);
-    if (ret == -1) {
+    if (mbstowcs(wstr, str, len) == -1) {
         usb_mtp_add_wstr(data, L"Oops");
     } else {
         usb_mtp_add_wstr(data, wstr);
-- 
2.4.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str
  2016-03-09  6:10 ` [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str Peter Xu
@ 2016-03-10  1:54   ` Fam Zheng
  2016-03-10  2:25     ` Peter Xu
  0 siblings, 1 reply; 8+ messages in thread
From: Fam Zheng @ 2016-03-10  1:54 UTC (permalink / raw)
  To: Peter Xu; +Cc: pbonzini, qemu-devel, kraxel

On Wed, 03/09 14:10, Peter Xu wrote:
> Use heap instead of stack.
> 
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
>  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
> 
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] usb: trivial cleanup for usb_mtp_add_str
  2016-03-09  6:10 ` [Qemu-devel] [PATCH 2/2] usb: trivial cleanup " Peter Xu
@ 2016-03-10  1:56   ` Fam Zheng
  2016-03-10  6:51     ` Markus Armbruster
  0 siblings, 1 reply; 8+ messages in thread
From: Fam Zheng @ 2016-03-10  1:56 UTC (permalink / raw)
  To: Peter Xu; +Cc: pbonzini, qemu-devel, kraxel

On Wed, 03/09 14:10, Peter Xu wrote:
> Remove useless var "ret".
> 
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
>  hw/usb/dev-mtp.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
> index cf63fd0..38cc4fc 100644
> --- a/hw/usb/dev-mtp.c
> +++ b/hw/usb/dev-mtp.c
> @@ -719,10 +719,8 @@ static void usb_mtp_add_str(MTPData *data, const char *str)
>  {
>      uint32_t len = strlen(str)+1;
>      wchar_t *wstr = g_malloc(sizeof(wchar_t) * len);
> -    size_t ret;
>  
> -    ret = mbstowcs(wstr, str, len);
> -    if (ret == -1) {
> +    if (mbstowcs(wstr, str, len) == -1) {
>          usb_mtp_add_wstr(data, L"Oops");
>      } else {
>          usb_mtp_add_wstr(data, wstr);
> -- 
> 2.4.3
> 
> 

The old way has no problem, no need to clean up, IMO.

Fam

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str
  2016-03-10  1:54   ` Fam Zheng
@ 2016-03-10  2:25     ` Peter Xu
  0 siblings, 0 replies; 8+ messages in thread
From: Peter Xu @ 2016-03-10  2:25 UTC (permalink / raw)
  To: Fam Zheng; +Cc: pbonzini, qemu-devel, kraxel

On Thu, Mar 10, 2016 at 09:54:41AM +0800, Fam Zheng wrote:
> On Wed, 03/09 14:10, Peter Xu wrote:
> > +    wchar_t *wstr = g_malloc(sizeof(wchar_t) * len);
> 
> I think it is better to use g_new() in this case.

Okay. Will re-send this one.

Thanks.
Peter

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] usb: trivial cleanup for usb_mtp_add_str
  2016-03-10  1:56   ` Fam Zheng
@ 2016-03-10  6:51     ` Markus Armbruster
  2016-03-10  7:42       ` Gerd Hoffmann
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Armbruster @ 2016-03-10  6:51 UTC (permalink / raw)
  To: Fam Zheng; +Cc: pbonzini, qemu-devel, Peter Xu, kraxel

Fam Zheng <famz@redhat.com> writes:

> On Wed, 03/09 14:10, Peter Xu wrote:
>> Remove useless var "ret".
>> 
>> Signed-off-by: Peter Xu <peterx@redhat.com>
>> ---
>>  hw/usb/dev-mtp.c | 4 +---
>>  1 file changed, 1 insertion(+), 3 deletions(-)
>> 
>> diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
>> index cf63fd0..38cc4fc 100644
>> --- a/hw/usb/dev-mtp.c
>> +++ b/hw/usb/dev-mtp.c
>> @@ -719,10 +719,8 @@ static void usb_mtp_add_str(MTPData *data, const char *str)
>>  {
>>      uint32_t len = strlen(str)+1;
>>      wchar_t *wstr = g_malloc(sizeof(wchar_t) * len);
>> -    size_t ret;
>>  
>> -    ret = mbstowcs(wstr, str, len);
>> -    if (ret == -1) {
>> +    if (mbstowcs(wstr, str, len) == -1) {
>>          usb_mtp_add_wstr(data, L"Oops");
>>      } else {
>>          usb_mtp_add_wstr(data, wstr);
>> -- 
>> 2.4.3
>> 
>> 
>
> The old way has no problem, no need to clean up, IMO.

It's a very small readability improvement, but it's an improvement.  If
I was the maintainer, I'd take it.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] usb: trivial cleanup for usb_mtp_add_str
  2016-03-10  6:51     ` Markus Armbruster
@ 2016-03-10  7:42       ` Gerd Hoffmann
  0 siblings, 0 replies; 8+ messages in thread
From: Gerd Hoffmann @ 2016-03-10  7:42 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: pbonzini, Fam Zheng, qemu-devel, Peter Xu

On Do, 2016-03-10 at 07:51 +0100, Markus Armbruster wrote:
> Fam Zheng <famz@redhat.com> writes:
> 
> > On Wed, 03/09 14:10, Peter Xu wrote:
> >> Remove useless var "ret".
> >> 
> >> Signed-off-by: Peter Xu <peterx@redhat.com>
> >> ---
> >>  hw/usb/dev-mtp.c | 4 +---
> >>  1 file changed, 1 insertion(+), 3 deletions(-)
> >> 
> >> diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
> >> index cf63fd0..38cc4fc 100644
> >> --- a/hw/usb/dev-mtp.c
> >> +++ b/hw/usb/dev-mtp.c
> >> @@ -719,10 +719,8 @@ static void usb_mtp_add_str(MTPData *data, const char *str)
> >>  {
> >>      uint32_t len = strlen(str)+1;
> >>      wchar_t *wstr = g_malloc(sizeof(wchar_t) * len);
> >> -    size_t ret;
> >>  
> >> -    ret = mbstowcs(wstr, str, len);
> >> -    if (ret == -1) {
> >> +    if (mbstowcs(wstr, str, len) == -1) {
> >>          usb_mtp_add_wstr(data, L"Oops");
> >>      } else {
> >>          usb_mtp_add_wstr(data, wstr);
> >> -- 
> >> 2.4.3
> >> 
> >> 
> >
> > The old way has no problem, no need to clean up, IMO.
> 
> It's a very small readability improvement, but it's an improvement.  If
> I was the maintainer, I'd take it.

Matter of taste, I find the version with ret more readable (not
surprising given I wrote that code ;)

It's easier to see what the "if (...)" condition is because the line is
shorter.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-03-10  7:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-09  6:10 [Qemu-devel] [PATCH 0/2] usb: trivial fixes Peter Xu
2016-03-09  6:10 ` [Qemu-devel] [PATCH 1/2] usb: fix unbound stack usage for usb_mtp_add_str Peter Xu
2016-03-10  1:54   ` Fam Zheng
2016-03-10  2:25     ` Peter Xu
2016-03-09  6:10 ` [Qemu-devel] [PATCH 2/2] usb: trivial cleanup " Peter Xu
2016-03-10  1:56   ` Fam Zheng
2016-03-10  6:51     ` Markus Armbruster
2016-03-10  7:42       ` Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).