diff options
| -rw-r--r-- | roseh.moe.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/roseh.moe.go b/roseh.moe.go index abafa2e..3cab2c4 100644 --- a/roseh.moe.go +++ b/roseh.moe.go @@ -239,12 +239,15 @@ func (c wormholeConn) wormholeCopy(ctx context.Context, hole string) error { } } wormholeConnsMu.Unlock() - defer close(prevConn.done) if c.w == nil { c.w = prevConn.w } else { c.r = prevConn.r } + if c.w == nil || c.r == nil { + return fmt.Errorf("connection already registered") + } + defer close(prevConn.done) c.w.Header().Set("Content-Disposition", "attachment; filename*=UTF-8''"+c.r.FileName()) if _, err := io.Copy(c.w, c.r); err != nil { return fmt.Errorf("copy: %s", err) |
