Location: pkg/debuginfo/debuginfod.go:401-413
When handleResponse follows redirects, old response bodies aren't closed before making new requests:
case 3:
resp, err = c.doRequest(ctx, resp.Header.Get("Location")) // ❌ Old resp.Body leaked
if err != nil {
return nil, fmt.Errorf("request failed: %w", err)
}
continue
Fix:
case 3:
redirectURL := resp.Header.Get("Location")
resp.Body.Close() // ✅ Close before redirect
resp, err = c.doRequest(ctx, redirectURL)
if err != nil {
return nil, fmt.Errorf("request failed: %w", err)
}
continue
Impact: Leaks file descriptors and memory when debuginfod servers return redirects.