aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-07-13 05:59:41 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-07-13 05:59:41 +0000
commit6f7c45c9d531b7c452583c13487aa0e9c8b251ca (patch)
tree92db0112eca21a2b13d3a4eba7c2f38d11c512ff /bin
parentd4bf4151a577a4b76bacf23c08065f6acf0e2c5f (diff)
Notes
Diffstat (limited to 'bin')
-rw-r--r--bin/stty/stty.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bin/stty/stty.c b/bin/stty/stty.c
index b70f49fcad98..26e02e4d7297 100644
--- a/bin/stty/stty.c
+++ b/bin/stty/stty.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#include <err.h>
#include <errno.h>
#include <fcntl.h>
+#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -61,7 +62,7 @@ main(int argc, char *argv[])
struct info i;
enum FMT fmt;
int ch;
- const char *file;
+ const char *file, *errstr = NULL;
fmt = NOTSET;
i.fd = STDIN_FILENO;
@@ -130,7 +131,9 @@ args: argc -= optind;
if (isdigit(**argv)) {
speed_t speed;
- speed = atoi(*argv);
+ speed = strtonum(*argv, 0, UINT_MAX, &errstr);
+ if (errstr)
+ err(1, "speed");
cfsetospeed(&i.t, speed);
cfsetispeed(&i.t, speed);
i.set = 1;