svn commit: r250986 - head/sys/dev/usb
Hans Petter Selasky
hps at bitfrost.no
Sat May 25 18:53:15 UTC 2013
On 05/25/13 20:03, mdf at FreeBSD.org wrote:
> On Sat, May 25, 2013 at 10:09 AM, Hans Petter Selasky
> <hselasky at freebsd.org>wrote:
>
>> Author: hselasky
>> Date: Sat May 25 17:09:58 2013
>> New Revision: 250986
>> URL: http://svnweb.freebsd.org/changeset/base/250986
>>
>> Log:
>> Fix some statical clang analyzer warnings.
>>
>> Modified:
>> head/sys/dev/usb/usb_device.c
>> head/sys/dev/usb/usb_hub.c
>> head/sys/dev/usb/usb_msctest.c
>>
>> Modified: head/sys/dev/usb/usb_device.c
>>
>> ==============================================================================
>> --- head/sys/dev/usb/usb_device.c Sat May 25 16:58:12 2013
>> (r250985)
>> +++ head/sys/dev/usb/usb_device.c Sat May 25 17:09:58 2013
>> (r250986)
>> @@ -799,9 +799,6 @@ usb_config_parse(struct usb_device *udev
>> /* find maximum number of endpoints */
>> if (ep_max < temp)
>> ep_max = temp;
>> -
>> - /* optimalisation */
>> - id = (struct usb_interface_descriptor *)ed;
>> }
>> }
>>
>>
>> Modified: head/sys/dev/usb/usb_hub.c
>>
>> ==============================================================================
>> --- head/sys/dev/usb/usb_hub.c Sat May 25 16:58:12 2013 (r250985)
>> +++ head/sys/dev/usb/usb_hub.c Sat May 25 17:09:58 2013 (r250986)
>> @@ -341,7 +341,6 @@ uhub_reattach_port(struct uhub_softc *sc
>>
>> DPRINTF("reattaching port %d\n", portno);
>>
>> - err = 0;
>> timeout = 0;
>> udev = sc->sc_udev;
>> child = usb_bus_port_get_device(udev->bus,
>>
>> Modified: head/sys/dev/usb/usb_msctest.c
>>
>> ==============================================================================
>> --- head/sys/dev/usb/usb_msctest.c Sat May 25 16:58:12 2013
>> (r250985)
>> +++ head/sys/dev/usb/usb_msctest.c Sat May 25 17:09:58 2013
>> (r250986)
>> @@ -802,7 +802,6 @@ usb_msc_eject(struct usb_device *udev, u
>> if (sc == NULL)
>> return (USB_ERR_INVAL);
>>
>> - err = 0;
>> switch (method) {
>> case MSC_EJECT_STOPUNIT:
>> err = bbb_command_start(sc, DIR_IN, 0, NULL, 0,
>> @@ -844,6 +843,7 @@ usb_msc_eject(struct usb_device *udev, u
>> break;
>> default:
>> DPRINTF("Unknown eject method (%d)\n", method);
>> + err = 0;
>> break;
>> }
>> DPRINTF("Eject CD command status: %s\n", usbd_errstr(err));
>>
>
> I don't know about the top one, but the bottom two are the safer way to
> code, and should not have been changed. Unless we feel guaranteed the
> compiler can detect all uninitialized use and will break the build, an
> early initialization to a sane value is absolutely the right thing to do,
> even if it will be overwritten. If the compiler feels sure the
> initialization isn't needed, it does not have to emit the code. But any
> coding change after the (missing) initialization can create a bug now
> (well, it depends on how the code is structured, but from the three lines
> of context svn diff provides it's not clear a bug couldn't easily be
> introduced).
Hi,
The last case is a switch case, and "err" must be set in all cases.
In the second case, "err =" was used two times in a row.
First case is OK. It is leftover code after some earlier patches.
Thanks for the review!
--HPS
More information about the svn-src-head
mailing list