diff options
author | 2006-04-01 19:57:32 +0000 | |
---|---|---|
committer | 2006-04-01 19:57:32 +0000 | |
commit | a60f591370ab74bdfbc7abfa2b5ecd503f929988 (patch) | |
tree | 197beb015fc0cb1836551283cdf0aafcc8c89006 | |
parent | Use NFILES for starting point instead of hardcoded const (diff) | |
download | wireguard-openbsd-a60f591370ab74bdfbc7abfa2b5ecd503f929988.tar.xz wireguard-openbsd-a60f591370ab74bdfbc7abfa2b5ecd503f929988.zip |
Don't convert off_t to size_t without checking if it fits. From Tobias
Stoeckmann.
-rw-r--r-- | usr.bin/gzsig/key.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/gzsig/key.c b/usr.bin/gzsig/key.c index 0810131d809..9f09e5eca9e 100644 --- a/usr.bin/gzsig/key.c +++ b/usr.bin/gzsig/key.c @@ -1,4 +1,4 @@ -/* $OpenBSD: key.c,v 1.3 2005/05/29 02:41:42 marius Exp $ */ +/* $OpenBSD: key.c,v 1.4 2006/04/01 19:57:32 otto Exp $ */ /* * key.c @@ -33,6 +33,7 @@ * $Vendor: key.c,v 1.2 2005/04/01 16:47:31 dugsong Exp $ */ +#include <sys/limits.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/uio.h> @@ -78,7 +79,7 @@ load_file(struct iovec *iov, char *filename) if (fstat(fd, &st) < 0) return (-1); - if (st.st_size == 0) { + if (st.st_size == 0 || st.st_size >= SIZE_MAX) { errno = EINVAL; return (-1); } |