Age | Commit message (Collapse) | Author | Files | Lines |
|
irecv_open_with_ecid calls libusb_open() in a loop. When the operation
fails libusb_close() is called with the returned handle - which ideally
should be NULL upon calling libusb_open(). However since we're operating
in a loop this is only the case for the first time libusb_open() is called
and subsequent invocations only overwrite the handle upon success.
Whenever the libusb_open() fails and it is not the first invocation, the
libusb_close() that is called afterwards may cause an invalid free.
To prevent this we set the handle to NULL before calling libusb_open().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
processor)
Note that a query with irecv_devices_get_device_by_product_type() will now return
the Samsung A9 processor model. It is strongly advised to use
irecv_devices_get_device_by_hardware_model() instead to get an exact match.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The helper might be used multiple times and the library should not
cause deinitialization of libusb before the user calls irecv_exit().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Now the USB interface is set the same way the WIN32 code does it.
This prevents older devices from getting "stuck" or "slow" after uploading the
iBEC to a device.
|
|
interactive mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|