Skip to content

Commit 1b8c416

Browse files
committed
fix overflow in Matrix_modn_dense
1 parent a880b3f commit 1b8c416

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/sage/matrix/matrix_modn_dense_template.pxi

+6-8
Original file line numberDiff line numberDiff line change
@@ -447,17 +447,15 @@ cdef class Matrix_modn_dense_template(Matrix_dense):
447447
raise OverflowError("p (=%s) must be < %s."%(p, MAX_MODULUS))
448448

449449
if zeroed_alloc:
450-
self._entries = <celement *>check_calloc(self._nrows * self._ncols, sizeof(celement))
450+
self._entries = <celement *> check_calloc(self._nrows * self._ncols, sizeof(celement))
451451
else:
452-
self._entries = <celement *>check_allocarray(self._nrows * self._ncols, sizeof(celement))
452+
self._entries = <celement *> check_allocarray(self._nrows * self._ncols, sizeof(celement))
453453

454-
self._matrix = <celement **>check_allocarray(self._nrows, sizeof(celement*))
455-
cdef unsigned int k
454+
self._matrix = <celement **> check_allocarray(self._nrows, sizeof(celement*))
456455
cdef Py_ssize_t i
457-
k = 0
458-
for i in range(self._nrows):
459-
self._matrix[i] = self._entries + k
460-
k = k + self._ncols
456+
self._matrix[0] = self._entries
457+
for i in range(self._nrows - 1):
458+
self._matrix[i + 1] = self._matrix[i] + self._ncols
461459

462460
def __dealloc__(self):
463461
"""

0 commit comments

Comments
 (0)