diff mbox

usb: fix unbound stack warning for inotify_watchfn

Message ID 1457503640-31473-1-git-send-email-peterx@redhat.com
State New
Headers show

Commit Message

Peter Xu March 9, 2016, 6:07 a.m. UTC
Signed-off-by: Peter Xu <peterx@redhat.com>
---
 hw/usb/dev-mtp.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Paolo Bonzini March 9, 2016, 7:56 a.m. UTC | #1
On 09/03/2016 07:07, Peter Xu wrote:
> -    char buf[len];
> +    char buf[sizeof(struct inotify_event) + NAME_MAX + 1];
>  
>      for (;;) {
> -        bytes = read(s->inotifyfd, buf, len);
> +        bytes = read(s->inotifyfd, buf, sizeof(buf));

sizeof is good here, since read takes a size in bytes.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Gerd Hoffmann March 18, 2016, 12:56 p.m. UTC | #2
On Mi, 2016-03-09 at 14:07 +0800, Peter Xu wrote:
> Signed-off-by: Peter Xu <peterx@redhat.com>

added to usb queue.

thanks,
  Gerd
diff mbox

Patch

diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index 7391783..76ad64e 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -433,12 +433,11 @@  static void inotify_watchfn(void *arg)
     MTPState *s = arg;
     ssize_t bytes;
     /* From the man page: atleast one event can be read */
-    int len = sizeof(struct inotify_event) + NAME_MAX + 1;
     int pos;
-    char buf[len];
+    char buf[sizeof(struct inotify_event) + NAME_MAX + 1];
 
     for (;;) {
-        bytes = read(s->inotifyfd, buf, len);
+        bytes = read(s->inotifyfd, buf, sizeof(buf));
         pos = 0;
 
         if (bytes <= 0) {