Skip to content

[Bug]: App crashes with panic when file close fails #93

@AR21SM

Description

@AR21SM

Description

The IsFile() function in pkg/typing/types.go (line 94) uses panic() to handle file close errors. This can cause the application to crash when running on network filesystems or container volumes where I/O errors may occur during file.Close(). Users lose all progress with no useful error message.

Location: pkg/typing/types.go:90-96

defer func() {
    if err == nil && file != nil {
        deferErr := file.Close()
        if deferErr != nil {
            panic(deferErr)
        }
    }
}()

Suggested Fix

For read-only file handles, close errors can be safely ignored:

defer func() {
    if file != nil {
        _ = file.Close()
    }
}()

Related

Similar patterns exist at:

  • pkg/utils/utils_function.go:46
  • pkg/scenarioorchestrator/utils/utils.go:262

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