diff --git a/src/shared/shell.c b/src/shared/shell.c
index 4658819..0639c78 100644
--- a/src/shared/shell.c
+++ b/src/shared/shell.c
struct option options[256];
char optstr[256];
size_t offset;
+ char *endptr = NULL;
offset = sizeof(main_options) / sizeof(struct option);
data.mode = 1;
goto done;
case 't':
- data.timeout = atoi(optarg);
+ if (optarg)
+ data.timeout = strtol(optarg, &endptr, 0);
+
+ if (!endptr || *endptr != '\0')
+ printf("Unable to parse timeout\n");
break;
case 'z':
data.zsh = 1;