Skip to content

Commit c641498

Browse files
committed
chore: delint
1 parent f68b3d2 commit c641498

File tree

9 files changed

+62
-28
lines changed

9 files changed

+62
-28
lines changed

.golangci.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: "2"
2+
run:
3+
timeout: 3m
4+
5+
linters:
6+
disable:
7+
- unused

main.go

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ func main() {
6363
fmt.Print("invalid usage!")
6464
os.Exit(1)
6565
}
66-
runF.Parse(os.Args[2:])
66+
err := runF.Parse(os.Args[2:])
67+
if err != nil {
68+
fmt.Printf("error parsing args: %s\n", err)
69+
os.Exit(1)
70+
}
6771

6872
if *runDetach && (*runInt || *runTty) {
6973
fmt.Println("detach can't be provided with tty or interactive")
@@ -87,15 +91,22 @@ func main() {
8791
if err != nil {
8892
fmt.Printf("ERROR: error starting container: %s\n", err)
8993
}
90-
container.Dispose()
94+
err = container.Dispose()
95+
if err != nil {
96+
fmt.Printf("ERROR: error cleaning up container: %s\n", err)
97+
}
9198
case "spawn":
9299
fmt.Println("DEBUG: spawn called!")
93100
if len(os.Args) < 4 {
94101
fmt.Print("invalid usage!")
95102
os.Exit(1)
96103
}
97-
spawnF.Parse(os.Args[2:])
98-
err := execContainer(*spawnCmd, *spawnArgs, spawnEnv, *spawnId, spawnUser, spawnGroup, *spawnWorkDir, *spawnIP)
104+
err := spawnF.Parse(os.Args[2:])
105+
if err != nil {
106+
fmt.Printf("error parsing args: %s\n", err)
107+
os.Exit(1)
108+
}
109+
err = execContainer(*spawnCmd, *spawnArgs, spawnEnv, *spawnId, spawnUser, spawnGroup, *spawnWorkDir, *spawnIP)
99110
if err != nil {
100111
fmt.Printf("ERROR: error spawning process for container: %v\n", err)
101112
}

pkg/archive/archive.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,24 @@ func FlateTar(t *tar.Reader, dir string) error {
9898
case tar.TypeLink:
9999
ln := hdr.Linkname
100100
lnRel := filepath.Join(dir, ln)
101-
os.Link(lnRel, fName)
101+
err = os.Link(lnRel, fName)
102+
if err != nil {
103+
return err
104+
}
102105

103106
case tar.TypeSymlink:
104107
ln := hdr.Linkname
105-
os.Symlink(ln, fName)
108+
err = os.Symlink(ln, fName)
109+
if err != nil {
110+
return err
111+
}
106112

107113
case tar.TypeReg:
108114
f, err := os.OpenFile(fName, os.O_RDWR|os.O_CREATE|os.O_TRUNC, fInf.Mode())
109115
if err != nil {
110116
return err
111117
}
112-
defer f.Close()
118+
defer func() { _ = f.Close() }()
113119
sz, err := io.Copy(f, t)
114120
if err != nil {
115121
return err

pkg/config/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func Load(path string) (CurruntConfig, error) {
3838
if err != nil {
3939
return c, err
4040
}
41-
defer cF.Close()
41+
defer func() { _ = cF.Close() }()
4242
cContent, err := io.ReadAll(cF)
4343
if err != nil {
4444
return c, err

pkg/config/config_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func newConfigFile(t *testing.T) string {
2424
if err != nil {
2525
t.Fatal(err)
2626
}
27-
defer f.Close()
27+
defer func() { _ = f.Close() }()
2828

2929
r := strings.NewReader(exampleConf)
3030
_, err = io.Copy(f, r)

pkg/container/networking.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func getDefaultLink() (netlink.Link, error) {
1616
}
1717
dNet, _ := netlink.ParseAddr("0.0.0.0/0")
1818
for _, r := range routes {
19-
if r.Dst.Network() == dNet.IPNet.Network() {
19+
if r.Dst.Network() == dNet.Network() {
2020
return netlink.LinkByIndex(r.LinkIndex)
2121
}
2222
}

pkg/oci/image.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ func getAnonToken(c *http.Client, h *http.Header, reg registryInfo, img string)
110110
if err != nil {
111111
return tok, err
112112
}
113-
defer res.Body.Close()
113+
defer func() { _ = res.Body.Close() }()
114114

115115
rStr, err := io.ReadAll(res.Body)
116116
if err != nil {
@@ -155,7 +155,7 @@ func getManifestIndex(c *http.Client, h *http.Header, i *imageInfo, r *registryI
155155
if err != nil {
156156
return mI, err
157157
}
158-
defer res.Body.Close()
158+
defer func() { _ = res.Body.Close() }()
159159

160160
rStr, err := io.ReadAll(res.Body)
161161
if err != nil {
@@ -209,7 +209,7 @@ func getManifest(c *http.Client, h *http.Header, i imageInfo, iP string, r regis
209209
if err != nil {
210210
return iM, fmt.Errorf("unable to write image to library directory (path: %s)", mFPath)
211211
}
212-
defer mFile.Close()
212+
defer func() { _ = mFile.Close() }()
213213

214214
u := fmt.Sprintf("https://%s/v2/%s/manifests/%s", r.registryEndpoint, i.name, i.digest)
215215
mReq, _ := http.NewRequest("GET", u, nil)
@@ -219,7 +219,7 @@ func getManifest(c *http.Client, h *http.Header, i imageInfo, iP string, r regis
219219
if err != nil {
220220
return iM, err
221221
}
222-
defer res.Body.Close()
222+
defer func() { _ = res.Body.Close() }()
223223

224224
cT := res.Header.Get("Content-Type")
225225
if cT != MIME_MANIFEST && cT != MIME_DOCKER_MANIFEST_V2 {
@@ -253,7 +253,7 @@ func getManifestConfig(c *http.Client, h *http.Header, img imageInfo, man imageM
253253
if err != nil {
254254
return err
255255
}
256-
defer cFile.Close()
256+
defer func() { _ = cFile.Close() }()
257257

258258
u := fmt.Sprintf("https://%s/v2/%s/blobs/%s", r.registryEndpoint, img.name, man.Config.Digest)
259259
req, _ := http.NewRequest("GET", u, nil)
@@ -263,7 +263,7 @@ func getManifestConfig(c *http.Client, h *http.Header, img imageInfo, man imageM
263263
if err != nil {
264264
return err
265265
}
266-
defer res.Body.Close()
266+
defer func() { _ = res.Body.Close() }()
267267

268268
// skip content-type validation, github sends octet-stream
269269

@@ -281,7 +281,7 @@ func unpackLayer(dir string, archivePath string) error {
281281
if err != nil {
282282
return err
283283
}
284-
defer lRC.Close()
284+
defer func() { _ = lRC.Close() }()
285285

286286
t := lRC.GetTarReader()
287287
err = archive.FlateTar(t, dir)
@@ -321,7 +321,7 @@ func getManifestLayers(c *http.Client, h *http.Header, img imageInfo, man imageM
321321
if err != nil {
322322
return err
323323
}
324-
defer lFile.Close()
324+
defer func() { _ = lFile.Close() }()
325325

326326
u := fmt.Sprintf("https://%s/v2/%s/blobs/%s", r.registryEndpoint, img.name, l.Digest)
327327
req, _ := http.NewRequest("GET", u, nil)
@@ -331,7 +331,7 @@ func getManifestLayers(c *http.Client, h *http.Header, img imageInfo, man imageM
331331
if err != nil {
332332
return err
333333
}
334-
defer res.Body.Close()
334+
defer func() { _ = res.Body.Close() }()
335335

336336
sz, err := io.Copy(lFile, res.Body)
337337
if err != nil {

run.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,11 @@ func initContainer(cfg config.CurruntConfig, name string, entrypoint string, cmd
201201

202202
fmt.Println("DEBUG: starting namespace isolated runtime process")
203203
err = p.Start()
204-
defer p.Process.Kill()
204+
defer func() { _ = p.Process.Kill() }()
205+
if err != nil {
206+
err = fmt.Errorf("unable to start container isolated process: %v", err)
207+
return c, err
208+
}
205209

206210
c.Status = "Running"
207211
err = saveContainer(c)
@@ -217,15 +221,15 @@ func initContainer(cfg config.CurruntConfig, name string, entrypoint string, cmd
217221
}
218222

219223
if detach {
220-
p.Process.Release()
224+
err = p.Process.Release()
221225
c.Status = "Unknown"
222226
// TODO how will we clean up the overlay FS (and bind mounts) in this case?
223227
// ideas: a daemon process? we cant do within child process since we dont see the mounts
224228
} else {
225-
p.Wait()
229+
err = p.Wait()
226230
c.Status = "Stopped"
227231
}
228-
saveContainer(c)
232+
_ = saveContainer(c)
229233

230234
return c, err
231235
}

state.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,17 @@ import (
1313

1414
func printState() error {
1515
cIndex := map[string]container.Container{}
16-
os.MkdirAll(container.CONTAINER_LIB, 0755)
16+
err := os.MkdirAll(container.CONTAINER_LIB, 0755)
17+
if err != nil {
18+
return err
19+
}
1720
sFPath := filepath.Join(container.CONTAINER_LIB, "state.json")
1821

1922
sFile, err := os.OpenFile(sFPath, os.O_CREATE|os.O_RDWR, 0666)
2023
if err != nil {
2124
return err
2225
}
23-
defer sFile.Close()
26+
defer func() { _ = sFile.Close() }()
2427

2528
sB, err := io.ReadAll(sFile)
2629
if err != nil {
@@ -55,14 +58,17 @@ func printState() error {
5558
func saveContainer(c container.Container) error {
5659
cIndex := map[string]container.Container{}
5760

58-
os.MkdirAll(container.CONTAINER_LIB, 0755)
61+
err := os.MkdirAll(container.CONTAINER_LIB, 0755)
62+
if err != nil {
63+
return err
64+
}
5965
sFPath := filepath.Join(container.CONTAINER_LIB, "state.json")
6066
var sFile *os.File
61-
sFile, err := os.OpenFile(sFPath, os.O_CREATE|os.O_RDWR, 0666)
67+
sFile, err = os.OpenFile(sFPath, os.O_CREATE|os.O_RDWR, 0666)
6268
if err != nil {
6369
return err
6470
}
65-
defer sFile.Close()
71+
defer func() { _ = sFile.Close() }()
6672

6773
sB, err := io.ReadAll(sFile)
6874
if err != nil {

0 commit comments

Comments
 (0)