diff options
-rw-r--r-- | src/PackAWithQuantRowOffset.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/PackAWithQuantRowOffset.cc b/src/PackAWithQuantRowOffset.cc index 13a8fad..31dec05 100644 --- a/src/PackAWithQuantRowOffset.cc +++ b/src/PackAWithQuantRowOffset.cc @@ -116,8 +116,9 @@ void PackAWithQuantRowOffset<T, accT>::pack(const block_type_t& block) { (block.col_start % (this->numCols() / this->numGroups())) != 0; int32_t* row_offset_buf = getRowOffsetBuffer(); - float* smat_transposed = new float[block.row_size * block.col_size]; + float* smat_transposed = nullptr; if (tr) { + smat_transposed = new float[block.row_size * block.col_size]; transpose_simd( block.col_size, block.row_size, @@ -156,7 +157,8 @@ void PackAWithQuantRowOffset<T, accT>::pack(const block_type_t& block) { } } - delete[] smat_transposed; + if (smat_transposed) + delete[] smat_transposed; } template <typename T, typename accT> |