-
Notifications
You must be signed in to change notification settings - Fork 337
Closed
Description
If the underlying reader (the one given to zstd.NewReader) fails and returns an error, zstd just returns EOF instead of transmitting the error :
package main
import (
"fmt"
"log"
"io"
"github.com/klauspost/compress/zstd"
)
type errorReader struct{}
func (r *errorReader) Read(p []byte) (int, error) {
return 0, fmt.Errorf("i'm a failure")
}
func main() {
er := new(errorReader)
zr, err := zstd.NewReader(er)
if err != nil {
log.Fatal(err)
}
_, err = io.ReadAll(zr)
if err != nil {
log.Fatal(err)
}
log.Print("reached eof without any error !")
}
Expected result : "I'm a failure"
Actual result: "reached eof without any error !"
Metadata
Metadata
Assignees
Labels
No labels