mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
Merge branch 'bugfix/usleep_overflow_v5.3' into 'release/v5.3'
fix(newlib): fixed potential overflow in usleep (v5.3) See merge request espressif/esp-idf!33001
This commit is contained in:
@ -200,7 +200,10 @@ WEAK_UNLESS_TIMEFUNC_IMPL int settimeofday(const struct timeval *tv, const struc
|
|||||||
|
|
||||||
int usleep(useconds_t us)
|
int usleep(useconds_t us)
|
||||||
{
|
{
|
||||||
const int us_per_tick = portTICK_PERIOD_MS * 1000;
|
/* Even at max tick rate, vTaskDelay can still delay for the max of the us argument,
|
||||||
|
we just need to make sure the tick calculation does not overflow
|
||||||
|
*/
|
||||||
|
const int64_t us_per_tick = portTICK_PERIOD_MS * 1000;
|
||||||
if (us < us_per_tick) {
|
if (us < us_per_tick) {
|
||||||
esp_rom_delay_us((uint32_t) us);
|
esp_rom_delay_us((uint32_t) us);
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user