소스 검색

Fixed missing check for variable overflow introduced by recent commits

Evgeny Grin (Karlson2k) 1 년 전
부모
커밋
0f7ecd421f
1개의 변경된 파일6개의 추가작업 그리고 4개의 파일을 삭제
  1. 6 4
      src/mhd2/upgrade_net.c

+ 6 - 4
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)