[Top][All Lists]
[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
+