diff options
| author | Marin Ivanov <[email protected]> | 2026-01-18 21:38:23 +0200 |
|---|---|---|
| committer | Marin Ivanov <[email protected]> | 2026-01-18 21:38:23 +0200 |
| commit | b117769ad9648240fbcf7500a8039ebe297aafe7 (patch) | |
| tree | d8a0c4f260b343c9299e106df1736c2af90e9fd8 | |
| parent | 0e13bf7d9286b8deb170a298fbef09bf6a2f6570 (diff) | |
fail fast on multipart parsing error
| -rw-r--r-- | main.go | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -190,7 +190,12 @@ func (s *Server) post(w http.ResponseWriter, r *http.Request) { r.Body = http.MaxBytesReader(w, r.Body, s.maxSize) // impose maximum request size mimeType := r.Header.Get("content-type") if strings.HasPrefix(mimeType, "multipart/form-data;") { - r.ParseMultipartForm(1 << 23) // max 8MB in RAM + // max 8MB in RAM for multipart parsing + if err := r.ParseMultipartForm(1 << 23); err != nil { + log.Print("Error parse multipart form: ", err) + w.WriteHeader(http.StatusInternalServerError) + return + } textName, err := s.postText(r) if err != nil { log.Print("Error text upload: ", err) |
