Skip to content

Commit f247e5b

Browse files
committed
revoke: fix connection leak
1 parent 9f7129a commit f247e5b

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

Diff for: revoke/revoke.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,17 @@ func fetchCRL(url string) (*pkix.CertificateList, error) {
105105
resp, err := HTTPClient.Get(url)
106106
if err != nil {
107107
return nil, err
108-
} else if resp.StatusCode >= 300 {
108+
}
109+
defer resp.Body.Close()
110+
111+
if resp.StatusCode >= 300 {
109112
return nil, errors.New("failed to retrieve CRL")
110113
}
111114

112115
body, err := crlRead(resp.Body)
113116
if err != nil {
114117
return nil, err
115118
}
116-
resp.Body.Close()
117-
118119
return x509.ParseCRL(body)
119120
}
120121

@@ -212,12 +213,12 @@ func fetchRemote(url string) (*x509.Certificate, error) {
212213
if err != nil {
213214
return nil, err
214215
}
216+
defer resp.Body.Close()
215217

216218
in, err := remoteRead(resp.Body)
217219
if err != nil {
218220
return nil, err
219221
}
220-
resp.Body.Close()
221222

222223
p, _ := pem.Decode(in)
223224
if p != nil {
@@ -290,6 +291,7 @@ func sendOCSPRequest(server string, req []byte, leaf, issuer *x509.Certificate)
290291
if err != nil {
291292
return nil, err
292293
}
294+
defer resp.Body.Close()
293295

294296
if resp.StatusCode != http.StatusOK {
295297
return nil, errors.New("failed to retrieve OSCP")
@@ -299,7 +301,6 @@ func sendOCSPRequest(server string, req []byte, leaf, issuer *x509.Certificate)
299301
if err != nil {
300302
return nil, err
301303
}
302-
resp.Body.Close()
303304

304305
switch {
305306
case bytes.Equal(body, ocsp.UnauthorizedErrorResponse):

0 commit comments

Comments
 (0)