Skip to content

Commit 447db7c

Browse files
authored
Merge pull request #2 from cloudstruct/fix/close-response-body
Make sure to read backend response and close to prevent leak
2 parents eb513e0 + 5f7e520 commit 447db7c

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

api/api.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,16 @@ func handleSubmitTx(c *gin.Context) {
8080
logger.Errorf("failed to send request to backend %s: %s", backend, err)
8181
return
8282
}
83+
// We have to read the entire response body and close it to prevent a memory leak
84+
respBody, err := ioutil.ReadAll(resp.Body)
85+
if err != nil {
86+
logger.Errorf("failed to read response body: %s", err)
87+
return
88+
}
89+
defer resp.Body.Close()
8390
if resp.StatusCode == 202 {
8491
logger.Infof("successfully submitted transaction %s to backend %s", txIdHex, backend)
8592
} else {
86-
respBody, err := ioutil.ReadAll(resp.Body)
87-
if err != nil {
88-
logger.Errorf("failed to read response body: %s", err)
89-
return
90-
}
9193
logger.Errorf("failed to send request to backend %s: got response %d, %s", backend, resp.StatusCode, string(respBody))
9294
}
9395
}(backend)

0 commit comments

Comments
 (0)