mldonkey-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/direct_...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/direct_...
Date: Sat, 23 Oct 2010 18:19:21 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       10/10/23 18:19:21

Modified files:
        distrib        : ChangeLog 
        src/networks/direct_connect: dcClients.ml dcShared.ml 
        src/utils/lib  : int64ops.ml 

Log message:
        patch #7351

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1482&r2=1.1483
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcClients.ml?cvsroot=mldonkey&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcShared.ml?cvsroot=mldonkey&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/utils/lib/int64ops.ml?cvsroot=mldonkey&r1=1.4&r2=1.5

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1482
retrieving revision 1.1483
diff -u -b -r1.1482 -r1.1483
--- distrib/ChangeLog   23 Oct 2010 18:18:41 -0000      1.1482
+++ distrib/ChangeLog   23 Oct 2010 18:19:20 -0000      1.1483
@@ -15,6 +15,7 @@
 =========
 
 2010/10/23
+7351: DC: fix download of large files (integer overflow) (ygrek)
 7350: cleanup accesstest temp files (ygrek)
 
 2010/10/19

Index: src/networks/direct_connect/dcClients.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcClients.ml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/networks/direct_connect/dcClients.ml    22 Sep 2010 19:19:55 -0000      
1.20
+++ src/networks/direct_connect/dcClients.ml    23 Oct 2010 18:19:21 -0000      
1.21
@@ -1541,10 +1541,7 @@
             | DcUploadList fd -> fd
             | _ -> failwith "No fd in upload" )
           in 
-          let rlen =
-            let rem = Int64.to_int (c.client_endpos -- c.client_pos) in
-            if rem > bytes then bytes else rem
-          in
+          let rlen = int64_min_int (c.client_endpos -- c.client_pos) bytes in
           CommonUploads.consume_bandwidth rlen;
           let upload_buffer = String.create rlen in
           Unix32.read file_fd c.client_pos upload_buffer 0 rlen;

Index: src/networks/direct_connect/dcShared.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcShared.ml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- src/networks/direct_connect/dcShared.ml     22 Sep 2010 19:19:55 -0000      
1.8
+++ src/networks/direct_connect/dcShared.ml     23 Oct 2010 18:19:21 -0000      
1.9
@@ -107,10 +107,7 @@
   let slen = 4096 in
   (try
     let rec read pos =
-      let rlen =
-        let rem = Int64.sub flen pos in (* *)
-        if rem > Int64.of_int slen then slen else Int64.to_int rem
-      in
+      let rlen = int64_min_int (flen -- pos) slen in
       let npos = Int64.add pos (Int64.of_int rlen) in
       let str = String.create slen in
       Unix32.read file_fd pos str 0 rlen;

Index: src/utils/lib/int64ops.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/utils/lib/int64ops.ml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- src/utils/lib/int64ops.ml   25 Oct 2006 11:14:02 -0000      1.4
+++ src/utils/lib/int64ops.ml   23 Oct 2010 18:19:21 -0000      1.5
@@ -59,3 +59,6 @@
     (Printf.sprintf "%5.1f%s" (Int64.to_float size /. 1073741824.) ("gb") )
   else
     (Printf.sprintf "%8s%s" (Int64.to_string size) ("b") )
+
+let int64_min_int x i = if x > Int64.of_int i then i else Int64.to_int x
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]