mirror of
git://sigrok.org/libserialport
synced 2023-08-10 21:13:24 +03:00
Fix possible use of uninitialised variable in poll() setup.
This commit is contained in:
parent
49fd7b1bc2
commit
6b8eee0682
@ -1457,7 +1457,11 @@ SP_API enum sp_return sp_wait(struct sp_event_set *event_set,
|
|||||||
* to avoid any issues if a short timeout is reached before
|
* to avoid any issues if a short timeout is reached before
|
||||||
* poll() is even run.
|
* poll() is even run.
|
||||||
*/
|
*/
|
||||||
if (timeout_ms && started) {
|
if (!timeout_ms) {
|
||||||
|
timeout_remaining_ms = -1;
|
||||||
|
} else if (!started) {
|
||||||
|
timeout_remaining_ms = timeout_ms;
|
||||||
|
} else {
|
||||||
gettimeofday(&now, NULL);
|
gettimeofday(&now, NULL);
|
||||||
if (timercmp(&now, &end, >)) {
|
if (timercmp(&now, &end, >)) {
|
||||||
DEBUG("Wait timed out");
|
DEBUG("Wait timed out");
|
||||||
@ -1467,7 +1471,7 @@ SP_API enum sp_return sp_wait(struct sp_event_set *event_set,
|
|||||||
timeout_remaining_ms = delta.tv_sec * 1000 + delta.tv_usec / 1000;
|
timeout_remaining_ms = delta.tv_sec * 1000 + delta.tv_usec / 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
result = poll(pollfds, event_set->count, timeout_ms ? timeout_remaining_ms : -1);
|
result = poll(pollfds, event_set->count, timeout_remaining_ms);
|
||||||
started = 1;
|
started = 1;
|
||||||
|
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user