Skip to content

Segfault when reading 0-based matrix #211

Description

@Tongdongq

When reading a 0-based matrix, my copy of clSPARSE segfaults.
I traced the reason to clsparseSCsrMatrixfromFile() -> MMReadFormat() -> MMGenerateCOOFromFile() -> FillCoordData(), where each coordinate reduced by one. When removing this subtraction, the program does not segfault.
The actual segfault occurs in clsparseSCsrMatrixfromFile(), during conversion of COO to CSR. One of the coordinates in the file is 0, and becomes UINT_MAX, this causes the while loop to keep writing untill the end of the iCsrrow_pointer array.
Is this reader only for 1-based matrix files?
I removed the subtraction and it seems fixed now, do you see any other possible bugs?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions