refactor(web): drop a length check the closed-set parse already makes (#61)
The read is capped at 17 bytes and no valid language is longer than 4, so the parse refuses anything the length check would; the mutant that removed it survived. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -36,7 +36,7 @@ const (
|
||||
// and the title field; the cap itself is enforced on the file part by Intake.
|
||||
uploadOverhead = 1 << 20
|
||||
maxTitleRunes = 200
|
||||
// maxLanguageBytes bounds the language field: the longest value is four bytes.
|
||||
// maxLanguageBytes bounds what is read of the language field; a valid value is at most four bytes, so a longer one fails the parse.
|
||||
maxLanguageBytes = 16
|
||||
// uploadPollEvery is how often an unfinished upload re-asks for its status.
|
||||
uploadPollEvery = "2s"
|
||||
@@ -136,7 +136,7 @@ func (a *App) handleUploadPost(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
l, ok := domain.ParseLanguage(string(b))
|
||||
if !ok || len(b) > maxLanguageBytes {
|
||||
if !ok {
|
||||
a.logger().Info("upload rejected", "reason", "language")
|
||||
a.renderUploadsPage(w, r, userID, http.StatusBadRequest, "Choose a language from the list.")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user