summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2015-03-12 16:42:55 +0000
committerMatt Caswell <matt@openssl.org>2015-03-17 13:48:04 +0000
commit6c4ce00753c5763cf836f6fec9ec07ed7c2e6e03 (patch)
tree45685530ef8ace14d45bdfc1ef2b23a7abd905dc /apps
parentfcb61b6c92ac21c51ad23e4b983600747cdd8db1 (diff)
Fix seg fault in s_time
Passing a negative value for the "-time" option to s_time results in a seg fault. This commit fixes it so that time has to be greater than 0. Reviewed-by: Andy Polyakov <appro@openssl.org> (cherry picked from commit dfef52f6f277327e118fdd0fe34486852c2789b6)
Diffstat (limited to 'apps')
-rw-r--r--apps/s_time.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/s_time.c b/apps/s_time.c
index 5846f3ae17..a40997a22e 100644
--- a/apps/s_time.c
+++ b/apps/s_time.c
@@ -302,6 +302,10 @@ static int parseArgs(int argc, char **argv)
if (--argc < 1)
goto bad;
maxTime = atoi(*(++argv));
+ if(maxTime <= 0) {
+ BIO_printf(bio_err, "time must be > 0\n");
+ badop = 1;
+ }
} else {
BIO_printf(bio_err, "unknown option %s\n", *argv);
badop = 1;
@@ -550,7 +554,8 @@ int MAIN(int argc, char **argv)
nConn, totalTime, ((double)nConn / totalTime), bytes_read);
printf
("%d connections in %ld real seconds, %ld bytes read per connection\n",
- nConn, (long)time(NULL) - finishtime + maxTime, bytes_read / nConn);
+ nConn, (long)time(NULL) - finishtime + maxTime,
+ bytes_read / (nConn?nConn:1));
ret = 0;
end: