From 6b7b220b8701538cd6f199f0c56afb62ac6c676a Mon Sep 17 00:00:00 2001 From: cfels Date: Wed, 29 Jul 2026 20:38:24 +0200 Subject: [PATCH] add safety checks --- main.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 3ae6f85..d9023f4 100644 --- a/main.c +++ b/main.c @@ -1,8 +1,12 @@ #include "includes/include.h" #include "src/driver.h" +#include +#include +#include int main(int argc, char *argv[]) { int sens; + char input[100]; printf("K1NG PRO (4k) driver | Cli\n"); printf("set any sens from 50-26000\n\n"); @@ -10,8 +14,15 @@ int main(int argc, char *argv[]) { if (argc < 2) { printf("set sensitivity to: "); - if (scanf("%d", &sens) != 1) { - printf("u forgot to input a number?\n"); + if (fgets(input, sizeof(input), stdin) == NULL || input[0] == '\n') { + printf("incorrect input press enter to try again\n"); + return 1; + } + + char *endptr; + sens = (int)strtol(input, &endptr, 10); + if (*endptr != '\n' && *endptr != '\0') { + printf("incorrect input press enter to try again\n"); return 1; } } else { @@ -19,6 +30,11 @@ int main(int argc, char *argv[]) { printf("set sensitivity to: %d\n", sens); } + if (sens < 50 || sens > 26000 || sens % 50 != 0) { + printf("incorrect input press enter to try again\n"); + return 1; + } + run_driver(sens); return 0; }