You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the stop time is calculated, if the tick is within the timeout window of INT32_MAX (by default, 60 seconds), the stop time will be set beyond the range of int32_t.
Hi, and thanks for spotting this; your proposed fix looks good. We will integrate it but, unfortunately, at the moment the cellular side of our test system is down, as the equipment we use as our cellular test network lost its hard disk at the weekend.
Once we have put the pieces back together again, so that we are able to regression test cellular stuff, we will get the change tested/reviewed and pushed to master here. I will update this issue when that occurs.
Problem Description
The root of this issue seems to be that the stop time is stored as a 64-bit integer in the cell context.
ubxlib/common/device/src/u_device_shared_cell.h
Lines 46 to 51 in 05f4af4
When the stop time is calculated, if the tick is within the timeout window of
INT32_MAX
(by default, 60 seconds), the stop time will be set beyond the range ofint32_t
.ubxlib/common/network/src/u_network_private_cell.c
Lines 176 to 177 in 05f4af4
Additionally, even if it were wrapped around correctly, this buggy check in the default keep going callback means that it would immediately time out.
ubxlib/common/network/src/u_network_private_cell.c
Lines 77 to 92 in 05f4af4
Proposed Solution
int32_t
to match the portable API.See attached example patch
The text was updated successfully, but these errors were encountered: