From a2801df0740a8c5d0efbd05dbd0282917344dd17 Mon Sep 17 00:00:00 2001 From: Taylor Sutton Date: Mon, 1 Nov 2021 15:29:42 -0700 Subject: [PATCH 1/3] Check returned error of ioutil.ReadAll --- server/genserver.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/genserver.go b/server/genserver.go index c6e7d4c5..ef722f94 100644 --- a/server/genserver.go +++ b/server/genserver.go @@ -606,6 +606,9 @@ type bodyParamTemplate struct { var bodyParamTemplateStr = ` {{ if not .IsBinary }} data, err := ioutil.ReadAll(r.Body) + if err != nil { + return nil, fmt.Errorf("reading request body: %%w", err) + } {{if .Required}} if len(data) == 0 { return nil, errors.New("request body is required, but was empty") }{{end}} From c18fe5f7aab65ac0c29316b4e405e223954b7665 Mon Sep 17 00:00:00 2001 From: Taylor Sutton Date: Mon, 1 Nov 2021 15:36:40 -0700 Subject: [PATCH 2/3] Regenerate samples. --- samples/gen-go-nils/server/handlers.go | 3 +++ samples/gen-go/server/handlers.go | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/samples/gen-go-nils/server/handlers.go b/samples/gen-go-nils/server/handlers.go index f98013ae..149c5c9d 100644 --- a/samples/gen-go-nils/server/handlers.go +++ b/samples/gen-go-nils/server/handlers.go @@ -178,6 +178,9 @@ func newNilCheckInput(r *http.Request) (*models.NilCheckInput, error) { } data, err := ioutil.ReadAll(r.Body) + if err != nil { + return nil, fmt.Errorf("reading request body: %w", err) + } if len(data) > 0 { input.Body = &models.NilFields{} diff --git a/samples/gen-go/server/handlers.go b/samples/gen-go/server/handlers.go index a8295c5b..a38a7c82 100644 --- a/samples/gen-go/server/handlers.go +++ b/samples/gen-go/server/handlers.go @@ -310,6 +310,9 @@ func newGetAuthorsWithPutInput(r *http.Request) (*models.GetAuthorsWithPutInput, } data, err := ioutil.ReadAll(r.Body) + if err != nil { + return nil, fmt.Errorf("reading request body: %w", err) + } if len(data) > 0 { input.FavoriteBooks = &models.Book{} @@ -641,6 +644,9 @@ func newCreateBookInput(r *http.Request) (*models.Book, error) { _ = err data, err := ioutil.ReadAll(r.Body) + if err != nil { + return nil, fmt.Errorf("reading request body: %w", err) + } if len(data) == 0 { return nil, errors.New("request body is required, but was empty") } @@ -740,6 +746,9 @@ func newPutBookInput(r *http.Request) (*models.Book, error) { _ = err data, err := ioutil.ReadAll(r.Body) + if err != nil { + return nil, fmt.Errorf("reading request body: %w", err) + } if len(data) > 0 { var input models.Book From 87bee4cadfbc110c0299ff72e0bd0b76979eb8a2 Mon Sep 17 00:00:00 2001 From: Taylor Sutton Date: Mon, 1 Nov 2021 15:40:01 -0700 Subject: [PATCH 3/3] Bump version. --- VERSION | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 30d7eff8..21dbbd68 100644 --- a/VERSION +++ b/VERSION @@ -1,4 +1,6 @@ -v8.1.1 +v8.1.2 + +v8.1.2: Check the return value of reading the request body. v8.1.1: Revert update of open-api spec dependency bump