From 55008800e4e257ca3be55ae312fe6e94d6823d2a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 30 Jun 2016 23:25:59 +0200 Subject: limit maximum file size for downloads without max size diff --git a/rhimport/fetcher.go b/rhimport/fetcher.go index e398361..324ee5d 100644 --- a/rhimport/fetcher.go +++ b/rhimport/fetcher.go @@ -49,6 +49,7 @@ type FetcherCurlCBData struct { filename string remotename string conv FetchConverter + written uint64 writeError error } @@ -86,11 +87,18 @@ func curlWriteCallback(ptr []byte, userdata interface{}) bool { data.filename = newFilename data.conv = conv } - if _, err := data.conv.Write(ptr); err != nil { + w, err := data.conv.Write(ptr) + if err != nil { rhl.Printf("Unable to write to converter(%s): %s", data.filename, err) data.writeError = err return false } + data.written += uint64(w) + if data.written > FILESIZE_MAX { + data.writeError = fmt.Errorf("file exceeds maximum file size") + return false + } + return true } -- cgit v0.10.2