Changeset 831aa466 in mainline for uspace/lib/drv/generic/remote_usb.c


Ignore:
Timestamp:
2018-06-26T23:16:12Z (7 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2fc9bfd
Parents:
70fae4e
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-06-26 23:06:11)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-06-26 23:16:12)
Message:

Fix cases of undefined behavior found by ubsan.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/remote_usb.c

    r70fae4e r831aa466  
    7777                return EBADMEM;
    7878
    79         usb_device_desc_t tmp_desc;
     79        sysarg_t address, depth, speed, handle, iface;
    8080
    8181        const errno_t ret = async_req_1_5(exch, DEV_IFACE_ID(USB_DEV_IFACE),
    82             IPC_M_USB_GET_MY_DESCRIPTION,
    83             (sysarg_t *) &tmp_desc.address,
    84             (sysarg_t *) &tmp_desc.depth,
    85             (sysarg_t *) &tmp_desc.speed,
    86             &tmp_desc.handle,
    87             (sysarg_t *) &tmp_desc.iface);
    88         if (ret == EOK && desc)
    89                 *desc = tmp_desc;
     82            IPC_M_USB_GET_MY_DESCRIPTION, &address, &depth, &speed, &handle,
     83            &iface);
     84        if (ret == EOK && desc) {
     85                *desc = (usb_device_desc_t) {
     86                        .address = address,
     87                        .depth = depth,
     88                        .speed = speed,
     89                        .handle = handle,
     90                        .iface = iface,
     91                };
     92        }
     93
    9094        return ret;
    9195}
Note: See TracChangeset for help on using the changeset viewer.