From a6bb6e11de058da38136dc2b5ba29a29d74a7985 Mon Sep 17 00:00:00 2001 From: David Phillips Date: Sun, 30 Apr 2017 20:21:53 +1200 Subject: Add sanity check to search string --- sand-leek.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'sand-leek.c') diff --git a/sand-leek.c b/sand-leek.c index df34574..130d322 100644 --- a/sand-leek.c +++ b/sand-leek.c @@ -229,6 +229,7 @@ main(int argc, char **argv) { int opt = '\0'; int thread_count = 1; int i = 0; + size_t offset = 0; pthread_t *workers = NULL; unsigned long volatile *khash_count = NULL; unsigned long khashes = 0; @@ -254,6 +255,15 @@ main(int argc, char **argv) { search_len = strlen(search); + if ((offset = strspn(search, base32_lookup)) != search_len) { + fprintf(stderr, + "Error: search contains non-base-32 character(s): %c\n" + "I cannot search for something that will never occur\n", + search[offset] + ); + return 1; + } + workers = calloc(thread_count, sizeof(pthread_t)); if (!workers) { perror("worker thread calloc"); -- cgit v1.1