From f2a9cdd216505e696ecf082a082401de6c406593 Mon Sep 17 00:00:00 2001 From: Maximilian Date: Mon, 19 Dec 2022 10:21:06 -0600 Subject: [PATCH] Added better error handling --- main.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index be6ad70..a026726 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,6 @@ // GoPass // Author: Maximilian Patterson -// Version: 1.1 +// Version: 1.2 package main import ( @@ -15,13 +15,16 @@ import ( var runes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890`~!@#$%^&*()_+[]\\{}|;':,./<>?") func main() { - // Take OS arg (only accepts one arg) - arg := os.Args[1] + // Take OS arg (only accepts one arg) handle errors + args := os.Args[1:] + if len(args) != 1 { + panic("No password length specified! (ex: ./gopass 16)") + } // Convert String arg to int - size, err := strconv.Atoi(arg) + size, err := strconv.Atoi(args[0]) if err != nil { - panic(err) + panic("Argument supplied must be an integer! (ex: 16)") } // Make empty array of runes with size of size @@ -31,7 +34,7 @@ func main() { var b [8]byte _, err = cryptorand.Read(b[:]) if err != nil { - panic("Error securely seeding rand!") + panic("Error securely seeding crypto/rand!") } mathrand.Seed(int64(binary.LittleEndian.Uint64(b[:])))