dont parse uninitialized memory Reference: /n/atom/patch/applied/usbkbbaddesc Date: Fri Mar 28 16:33:21 CET 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/cmd/usb/kb/kb.c Fri Mar 28 16:33:16 2014 +++ /sys/src/cmd/usb/kb/kb.c Fri Mar 28 16:33:17 2014 @@ -762,7 +762,6 @@ d->free = freekdev; kd->in = in; kd->dev = d; - res = -1; kd->ep = openep(d, ep->id); if(kd->ep == nil){ fprint(2, "kb: %s: workep: openep %d: %r\n", d->dir, ep->id); @@ -782,10 +781,12 @@ kd->idle = Dwcidle; } } - if(!kd->bootp) - res= setfirstconfig(kd, ep->id, desc, sizeof desc); - if(res > 0) - res = parsereportdesc(&kd->templ, desc, sizeof desc); + res = -1; + if(!kd->bootp){ + n = setfirstconfig(kd, ep->id, desc, sizeof desc); + if(n > 0) + res = parsereportdesc(&kd->templ, desc, n); + } /* if we could not set the first config, we give up */ if(kd->bootp || res < 0){ kd->bootp = 1;