@@ -88,21 +88,17 @@ const maxConfigSize = 1000 * 1024 // 1000KB
8888// It reads up to twice the maximum size of the config ([maxConfigSize]),
8989// just in case swarm's limit changes; this is only a safeguard to prevent
9090// reading arbitrary files into memory.
91- func readConfigData (in io.Reader , fileName string ) (data []byte , retErr error ) {
92- if fileName != "" {
93- defer func () {
94- if retErr != nil {
95- retErr = fmt .Errorf ("error reading from %s: %w" , fileName , retErr )
96- } else if len (data ) == 0 {
97- retErr = fmt .Errorf ("error reading from %s: data is empty" , fileName )
98- }
99- }()
100- }
101-
91+ func readConfigData (in io.Reader , fileName string ) ([]byte , error ) {
10292 switch fileName {
10393 case "-" :
104- fileName = "STDIN"
105- return io .ReadAll (io .LimitReader (in , 2 * maxConfigSize ))
94+ data , err := io .ReadAll (io .LimitReader (in , 2 * maxConfigSize ))
95+ if err != nil {
96+ return nil , fmt .Errorf ("error reading from STDIN: %w" , err )
97+ }
98+ if len (data ) == 0 {
99+ return nil , errors .New ("error reading from STDIN: data is empty" )
100+ }
101+ return data , nil
106102 case "" :
107103 return nil , errors .New ("config file is required" )
108104 default :
@@ -115,9 +111,16 @@ func readConfigData(in io.Reader, fileName string) (data []byte, retErr error) {
115111 // [FILE_FLAG_SEQUENTIAL_SCAN]: https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea#FILE_FLAG_SEQUENTIAL_SCAN
116112 f , err := sequential .Open (fileName )
117113 if err != nil {
118- return nil , err
114+ return nil , fmt . Errorf ( "error reading from %s: %w" , fileName , err )
119115 }
120116 defer f .Close ()
121- return io .ReadAll (io .LimitReader (f , 2 * maxConfigSize ))
117+ data , err := io .ReadAll (io .LimitReader (f , 2 * maxConfigSize ))
118+ if err != nil {
119+ return nil , fmt .Errorf ("error reading from %s: %w" , fileName , err )
120+ }
121+ if len (data ) == 0 {
122+ return nil , fmt .Errorf ("error reading from %s: data is empty" , fileName )
123+ }
124+ return data , nil
122125 }
123126}
0 commit comments