[PATCH] wininet: Fix integer division by zero in FTP_SendData (scan-build)

Alex Henrie alexhenrie24 at gmail.com
Wed Sep 11 22:03:59 CDT 2019


Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 dlls/wininet/ftp.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index f2a88b741e..24ad5f228b 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -3315,18 +3315,13 @@ static BOOL FTP_SendData(ftp_session_t *lpwfs, INT nDataSocket, HANDLE hFile)
         /* Do some computation to display the status. */
         time(&e_long_time);
         nSeconds = e_long_time - s_long_time;
-        if( nSeconds / 60 > 0 )
-        {
-            TRACE( "%d bytes of %d bytes (%d%%) in %d min %d sec estimated remaining time %d sec\n",
-            nTotalSent, fi.nFileSizeLow, nTotalSent*100/fi.nFileSizeLow, nSeconds / 60,
-            nSeconds % 60, (fi.nFileSizeLow - nTotalSent) * nSeconds / nTotalSent );
-        }
-        else
-        {
-            TRACE( "%d bytes of %d bytes (%d%%) in %d sec estimated remaining time %d sec\n",
-            nTotalSent, fi.nFileSizeLow, nTotalSent*100/fi.nFileSizeLow, nSeconds,
-            (fi.nFileSizeLow - nTotalSent) * nSeconds / nTotalSent);
-        }
+        TRACE("%d bytes of %d bytes (%d%%) in", nTotalSent, fi.nFileSizeLow, nTotalSent*100/fi.nFileSizeLow);
+        if (nSeconds / 60 > 0)
+            TRACE(" %d min", nSeconds / 60);
+        TRACE(" %d sec", nSeconds % 60);
+        if (nTotalSent)
+            TRACE(" estimated remaining time %d sec", (fi.nFileSizeLow - nTotalSent) * nSeconds / nTotalSent);
+        TRACE("\n");
     } while (nRC != -1);
 
     TRACE("file transfer complete!\n");
-- 
2.23.0




More information about the wine-devel mailing list