From e451dc5f65492fc323b7cdbc480e69dbe3e2d0f9 Mon Sep 17 00:00:00 2001 From: Naren Venkataraman Date: Wed, 4 Nov 2015 04:33:32 -0500 Subject: [PATCH] Make sure Upload-Offset in PATCH request is greater than 0 --- handler.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/handler.go b/handler.go index 9051b43..a44be99 100644 --- a/handler.go +++ b/handler.go @@ -284,6 +284,13 @@ func (handler *Handler) patchFile(w http.ResponseWriter, r *http.Request) { return } + //Check for presence of a valid Upload-Offset Header + offset, err := strconv.ParseInt(r.Header.Get("Upload-Offset"), 10, 64) + if err != nil || offset < 0 { + handler.sendError(w, r, ErrInvalidOffset) + return + } + id := r.URL.Query().Get(":id") // Ensure file is not locked @@ -312,13 +319,6 @@ func (handler *Handler) patchFile(w http.ResponseWriter, r *http.Request) { return } - // Ensure the offsets match - offset, err := strconv.ParseInt(r.Header.Get("Upload-Offset"), 10, 64) - if err != nil { - handler.sendError(w, r, ErrInvalidOffset) - return - } - if offset != info.Offset { handler.sendError(w, r, ErrIllegalOffset) return