From 0f7ecd421f4c37680653f23c7e70277aa0bc01dc Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Sun, 29 Sep 2024 17:24:29 +0200 Subject: [PATCH] Fixed missing check for variable overflow introduced by recent commits --- src/mhd2/upgrade_net.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mhd2/upgrade_net.c b/src/mhd2/upgrade_net.c index 0041e9ca..510cc998 100644 --- a/src/mhd2/upgrade_net.c +++ b/src/mhd2/upgrade_net.c @@ -270,9 +270,10 @@ MHD_upgraded_recv (struct MHD_UpgradeHandle *MHD_RESTRICT urh, # ifndef mhd_HAVE_MHD_SLEEP return MHD_SC_UPGRADED_WAITING_NOT_SUPPORTED; # else /* mhd_HAVE_MHD_SLEEP */ - uint_fast32_t wait_millisec = max_wait_millisec; + uint_fast32_t wait_millisec = (uint_fast32_t) max_wait_millisec; - if (wait_millisec > 100) + if ((wait_millisec != max_wait_millisec) || + (wait_millisec > 100)) wait_millisec = 100; mhd_sleep (wait_millisec); if (MHD_WAIT_INDEFINITELY > max_wait_millisec) @@ -509,9 +510,10 @@ MHD_upgraded_send (struct MHD_UpgradeHandle *MHD_RESTRICT urh, # ifndef mhd_HAVE_MHD_SLEEP return MHD_SC_UPGRADED_WAITING_NOT_SUPPORTED; # else /* mhd_HAVE_MHD_SLEEP */ - uint_fast32_t wait_millisec = max_wait_millisec; + uint_fast32_t wait_millisec = (uint_fast32_t) max_wait_millisec; - if (wait_millisec > 100) + if ((wait_millisec != max_wait_millisec) || + (wait_millisec > 100)) wait_millisec = 100; mhd_sleep (wait_millisec); if (MHD_WAIT_INDEFINITELY > max_wait_millisec)