svn commit: r285438 - head/bin/stty
Baptiste Daroussin
bapt at FreeBSD.org
Mon Jul 13 05:59:42 UTC 2015
Author: bapt
Date: Mon Jul 13 05:59:41 2015
New Revision: 285438
URL: https://svnweb.freebsd.org/changeset/base/285438
Log:
Prevent potential integer overflow
PR: 192971
Submitted by: David Carlier <david.carlier at hardenedbsd.org>
Modified:
head/bin/stty/stty.c
Modified: head/bin/stty/stty.c
==============================================================================
--- head/bin/stty/stty.c Mon Jul 13 05:56:27 2015 (r285437)
+++ head/bin/stty/stty.c Mon Jul 13 05:59:41 2015 (r285438)
@@ -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;
More information about the svn-src-head
mailing list