diff --git a/lib/atc/SparseMatrix-inl.h b/lib/atc/SparseMatrix-inl.h index 8d6aec78dc..f70dd0361d 100644 --- a/lib/atc/SparseMatrix-inl.h +++ b/lib/atc/SparseMatrix-inl.h @@ -67,9 +67,9 @@ void SparseMatrix::_create(INDEX size, INDEX nrows) // assign memory to hold matrix try { - _val = (_size*nrows) ? new T [_size] : NULL; - _ia = (_size*nrows) ? new INDEX [_nRowsCRS+1] : NULL; - _ja = (_size*nrows) ? new INDEX [_size] : NULL; + _val = (_size && nrows) ? new T [_size] : NULL; + _ia = (_size && nrows) ? new INDEX [_nRowsCRS+1] : NULL; + _ja = (_size && nrows) ? new INDEX [_size] : NULL; } catch (std::exception &e) {