MindHunter86 / aniliSeeder

MIT License
0 stars 0 forks source link

(GO-S2307) Unsafe defer of `os.Close` #13

Open MindHunter86 opened 1 year ago

MindHunter86 commented 1 year ago

Description

Calling os.Close on an io.Closer may return an error, and ignoring the same might result in a data loss.

Occurrences

There is 1 occurrence of this issue in the repository.

See all occurrences on DeepSource → deepsource.io/gh/MindHunter86/aniliSeeder/issue/GO-S2307/occurrences/

MindHunter86 commented 1 year ago

Used recommended practice. Not working ...

package main

import (
    "fmt"
    "os"
)

func foo() error {
    f, err := os.Create("/tmp/test.txt")
    if err != nil {
        return err
    }
    defer f.Close()

    err = fmt.Fprint(f, "Hello World")
    if err != nil {
        return err
    }

    return f.Sync()
}
MindHunter86 commented 1 year ago

Used recommended practice. Not working ...

package main

import (
    "fmt"
    "os"
)

func foo() error {
    f, err := os.Create("/tmp/test.txt")
    if err != nil {
        return err
    }
    defer f.Close()

    err = fmt.Fprint(f, "Hello World")
    if err != nil {
        return err
    }

    return f.Sync()
}

https://github.com/MindHunter86/aniliSeeder/blob/b759b20086033d62ba1301f2fdfb232b019b5223/anilibria/api.go#L278

MindHunter86 commented 1 year ago

Same issue in #20