X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fsp.go;h=94b37ff624893f8560a7d4b0f1f0f3ed827c4eff;hb=4e08a1c97600e0372680e86a651f916c70e89342;hp=21a4a2e0a0f6de59649e3f71d39f6db4c0baa0a9;hpb=f7639751ddf1f559eaaa45030a6c2f3525aa102c;p=nncp.git diff --git a/src/sp.go b/src/sp.go index 21a4a2e..94b37ff 100644 --- a/src/sp.go +++ b/src/sp.go @@ -475,7 +475,7 @@ func (state *SPState) StartR(conn ConnDeadlined) error { state.maxOnlineTime = node.MaxOnlineTime sds := SDS{"node": node.Id, "nice": int(state.Nice)} - if state.Ctx.ensureRxDir(node.Id); err != nil { + if err = state.Ctx.ensureRxDir(node.Id); err != nil { return err } var rxLock *os.File @@ -999,7 +999,11 @@ func (state *SPState) ProcessSP(payload []byte) ([][]byte, error) { } state.wg.Add(1) defer state.wg.Done() - fd.Seek(0, io.SeekStart) + if _, err = fd.Seek(0, io.SeekStart); err != nil { + fd.Close() // #nosec G104 + state.Ctx.LogE("sp-file", sdsp, err, "") + return + } state.Ctx.LogD("sp-file", sdsp, "checking") gut, err := Check(fd, file.Hash[:], sdsp, state.Ctx.ShowPrgrs) fd.Close() // #nosec G104