Skip to content

Segfault when reading 0-based matrix #211

@Tongdongq

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