Skip to content

Commit 348a6f6

Browse files
committed
config: without defer
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
1 parent ef31036 commit 348a6f6

1 file changed

Lines changed: 18 additions & 15 deletions

File tree

cli/command/config/create.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)