From 7f237fe65b6458dd9e7271d9fbd614135e902f26 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Sun, 6 Dec 2020 18:39:49 +0900 Subject: [PATCH] Impl validation of input --- c_impl/src/main.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/c_impl/src/main.c b/c_impl/src/main.c index e1a29eb..8005d4e 100644 --- a/c_impl/src/main.c +++ b/c_impl/src/main.c @@ -47,7 +47,13 @@ int main(int argc, char **argv) { int temp = 0; for(unsigned int i = 0; argv[1][i] != 0; ++i) { - if(argv[1][i] != ',') { + if((argv[1][i] < '0' || argv[1][i] > '9') && argv[1][i] != ',') { + puts("ERROR: Invalid input"); + print_help(); + free(split_list); + free(input_list); + return 2; + } else if(argv[1][i] != ',') { temp = temp * 10 + (int)(argv[1][i] - '0'); } else { push_l(&sl_size, &sl_capacity, &split_list, temp); @@ -58,7 +64,13 @@ int main(int argc, char **argv) { temp = 0; for(unsigned int i = 0; argv[2][i] != 0; ++i) { - if(argv[2][i] != ',') { + if((argv[2][i] < '0' || argv[2][i] > '9') && argv[2][i] != ',') { + puts("ERROR: Invalid input"); + print_help(); + free(split_list); + free(input_list); + return 3; + } else if(argv[2][i] != ',') { temp = temp * 10 + (int)(argv[2][i] - '0'); } else { push_l(&il_size, &il_capacity, &input_list, temp);