IGNITE-6394: Fixed creation of off-heap matrix with size over 2 Gb
(int overflow in DenseOffHeapMatrixStorage.allocateMemory)


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/fe06b598
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/fe06b598
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/fe06b598

Branch: refs/heads/ignite-6149
Commit: fe06b5983fb7edf7ea36d7881a22ba6d5a97ee00
Parents: 39b9030
Author: YuriBabak <[email protected]>
Authored: Fri Sep 15 16:41:11 2017 +0300
Committer: Igor Sapego <[email protected]>
Committed: Fri Sep 15 16:41:11 2017 +0300

----------------------------------------------------------------------
 .../ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/fe06b598/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java
----------------------------------------------------------------------
diff --git 
a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java
 
b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java
index 6749488..37801d5 100644
--- 
a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java
+++ 
b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java
@@ -210,7 +210,7 @@ public class DenseOffHeapMatrixStorage implements 
MatrixStorage {
 
     /** */
     private void allocateMemory(int rows, int cols) {
-        ptr = GridUnsafe.allocateMemory(rows * cols * Double.BYTES);
+        ptr = GridUnsafe.allocateMemory((long)rows * cols * Double.BYTES);
 
         ptrInitHash = Long.hashCode(ptr);
     }

Reply via email to