From 1849aae43f80218f50a96b5f289a6509708e0a16 Mon Sep 17 00:00:00 2001 From: riwiwa Date: Sun, 8 Feb 2026 03:02:00 -0800 Subject: [PATCH] add error check to rand in generateID --- web/web.go | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/web/web.go b/web/web.go index f90b966..b9492be 100644 --- a/web/web.go +++ b/web/web.go @@ -43,15 +43,22 @@ func init() { templates = template.Must(template.New("").Funcs(funcMap).ParseGlob("./templates/*.gohtml")) } -func generateID() string { +func generateID() (string, error) { b := make([]byte, 16) - rand.Read(b) - return hex.EncodeToString(b) + _, err := rand.Read(b) + if err != nil { + return "", err + } + return hex.EncodeToString(b), nil } func createSession(username string) string { - sessionID := generateID() - _, err := db.Pool.Exec( + sessionID, err := generateID() + if err != nil { + fmt.Fprintf(os.Stderr, "Error generating sessionID: %v\n", err) + return "" + } + _, err = db.Pool.Exec( context.Background(), "INSERT INTO sessions (session_id, username, expires_at) VALUES ($1, $2, NOW() + INTERVAL '30 days');", sessionID, @@ -409,7 +416,12 @@ func importLastFMHandler(w http.ResponseWriter, r *http.Request) { return } - jobID := generateID() + jobID, err := generateID() + if err != nil { + fmt.Fprintf(os.Stderr, "Error generating jobID: %v\n", err) + http.Error(w, "Error generating jobID", http.StatusBadRequest) + return + } progressChan := make(chan migrate.ProgressUpdate, 100) jobsMu.Lock()