Skip to content

Commit 724cf3a

Browse files
committed
Check io.WriteString return value every time
1 parent 52fcc83 commit 724cf3a

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

ipieces/ipieces.go

+10-8
Original file line numberDiff line numberDiff line change
@@ -205,19 +205,19 @@ func (p Puzzle) handle(w http.ResponseWriter, req *http.Request, tmpl *template.
205205
d, err := p.dataFromReq(req)
206206
fmt.Printf("IP %s index %d\n", d.IP, d.Index)
207207
if err != nil {
208-
writeResponse(w, http.StatusInternalServerError, errorPage, "dataFromReq failed: %v", err)
208+
writeResponse(w, http.StatusInternalServerError, errorPage, "dataFromReq failed: %v\n", err)
209209
return
210210
}
211211

212212
if p.Client != nil {
213213
resp, err := p.Client.Query(d.IP)
214214
if err != nil {
215215
if err == vpnapi.ErrRateLimited {
216-
writeResponse(w, http.StatusTooManyRequests, rateLimitPage, "rate limited: %v", err)
216+
writeResponse(w, http.StatusTooManyRequests, rateLimitPage, "rate limited: %v\n", err)
217217
return
218218
}
219219
// TODO: This fails closed. This may be too strict, especially if vpnapi.io is unreliable.
220-
writeResponse(w, http.StatusInternalServerError, errorPage, "Query failed: %v", err)
220+
writeResponse(w, http.StatusInternalServerError, errorPage, "Query failed: %v\n", err)
221221
return
222222
}
223223

@@ -228,9 +228,7 @@ func (p Puzzle) handle(w http.ResponseWriter, req *http.Request, tmpl *template.
228228
}
229229

230230
if err := tmpl.Execute(w, d); err != nil {
231-
fmt.Println("tmpl.Execute failed:", err)
232-
w.WriteHeader(http.StatusInternalServerError)
233-
io.WriteString(w, errorPage)
231+
writeResponse(w, http.StatusInternalServerError, errorPage, "tmpl.Execute failed: %v\n", err)
234232
return
235233
}
236234
}
@@ -245,10 +243,14 @@ func (p Puzzle) Run() {
245243
})
246244
http.HandleFunc("/style.css", func(w http.ResponseWriter, _ *http.Request) {
247245
w.Header().Set("Content-Type", "text/css; charset=utf-8")
248-
io.WriteString(w, stylesheet)
246+
if _, err := io.WriteString(w, stylesheet); err != nil {
247+
fmt.Println("WriteString failed:", err)
248+
}
249249
})
250250
http.HandleFunc("/lights.gif", func(w http.ResponseWriter, _ *http.Request) {
251-
io.WriteString(w, lights)
251+
if _, err := io.WriteString(w, lights); err != nil {
252+
fmt.Println("WriteString failed:", err)
253+
}
252254
})
253255

254256
for _, d := range p.Final {

0 commit comments

Comments
 (0)