Skip to content

Commit 74d4fd3

Browse files
arxdsilvamholt
authored andcommitted
improve error checking (caddyserver#1938)
1 parent ac1f3bf commit 74d4fd3

File tree

3 files changed

+39
-12
lines changed

3 files changed

+39
-12
lines changed

assets_test.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,15 @@ func TestAssetsPath(t *testing.T) {
2525
t.Errorf("Expected path to be a .caddy folder, got: %v", actual)
2626
}
2727

28-
os.Setenv("CADDYPATH", "testpath")
28+
err := os.Setenv("CADDYPATH", "testpath")
29+
if err != nil {
30+
t.Error("Could not set CADDYPATH")
31+
}
2932
if actual, expected := AssetsPath(), "testpath"; actual != expected {
3033
t.Errorf("Expected path to be %v, got: %v", expected, actual)
3134
}
32-
os.Setenv("CADDYPATH", "")
35+
err = os.Setenv("CADDYPATH", "")
36+
if err != nil {
37+
t.Error("Could not set CADDYPATH")
38+
}
3339
}

caddy.go

+23-8
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,15 @@ func (i *Instance) Restart(newCaddyfile Input) (*Instance, error) {
206206

207207
// success! stop the old instance
208208
for _, shutdownFunc := range i.onShutdown {
209-
err := shutdownFunc()
209+
err = shutdownFunc()
210210
if err != nil {
211211
return i, err
212212
}
213213
}
214-
i.Stop()
214+
err = i.Stop()
215+
if err != nil {
216+
return i, err
217+
}
215218

216219
// Execute instantiation events
217220
EmitEvent(InstanceStartupEvent, newInst)
@@ -483,14 +486,14 @@ func startWithListenerFds(cdyfile Input, inst *Instance, restartFds map[string]r
483486
if !IsUpgrade() && restartFds == nil {
484487
// first startup means not a restart or upgrade
485488
for _, firstStartupFunc := range inst.onFirstStartup {
486-
err := firstStartupFunc()
489+
err = firstStartupFunc()
487490
if err != nil {
488491
return err
489492
}
490493
}
491494
}
492495
for _, startupFunc := range inst.onStartup {
493-
err := startupFunc()
496+
err = startupFunc()
494497
if err != nil {
495498
return err
496499
}
@@ -653,15 +656,21 @@ func startServers(serverList []Server, inst *Instance, restartFds map[string]res
653656
if fdIndex, ok := loadedGob.ListenerFds["tcp"+addr]; ok {
654657
file := os.NewFile(fdIndex, "")
655658
ln, err = net.FileListener(file)
656-
file.Close()
659+
if err != nil {
660+
return err
661+
}
662+
err = file.Close()
657663
if err != nil {
658664
return err
659665
}
660666
}
661667
if fdIndex, ok := loadedGob.ListenerFds["udp"+addr]; ok {
662668
file := os.NewFile(fdIndex, "")
663669
pc, err = net.FilePacketConn(file)
664-
file.Close()
670+
if err != nil {
671+
return err
672+
}
673+
err = file.Close()
665674
if err != nil {
666675
return err
667676
}
@@ -684,7 +693,10 @@ func startServers(serverList []Server, inst *Instance, restartFds map[string]res
684693
if err != nil {
685694
return err
686695
}
687-
file.Close()
696+
err = file.Close()
697+
if err != nil {
698+
return err
699+
}
688700
}
689701
// packetconn
690702
if old.packet != nil {
@@ -696,7 +708,10 @@ func startServers(serverList []Server, inst *Instance, restartFds map[string]res
696708
if err != nil {
697709
return err
698710
}
699-
file.Close()
711+
err = file.Close()
712+
if err != nil {
713+
return err
714+
}
700715
}
701716
}
702717
}

upgrade.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,21 @@ func Upgrade() error {
136136

137137
// immediately close our dup'ed fds and the write end of our signal pipe
138138
for _, f := range extraFiles {
139-
f.Close()
139+
err = f.Close()
140+
if err != nil {
141+
return err
142+
}
140143
}
141144

142145
// feed Caddyfile to the child
143146
err = gob.NewEncoder(wpipe).Encode(cdyfileGob)
144147
if err != nil {
145148
return err
146149
}
147-
wpipe.Close()
150+
err = wpipe.Close()
151+
if err != nil {
152+
return err
153+
}
148154

149155
// determine whether child startup succeeded
150156
answer, readErr := ioutil.ReadAll(sigrpipe)

0 commit comments

Comments
 (0)