diff options
author | sergiocarlos <carloschilazo@gmail.com> | 2015-12-12 15:59:17 -0600 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2016-05-28 23:49:03 -0700 |
commit | 0fe9eac95c79c33d3ff89cae1e8fba9faaea95ef (patch) | |
tree | 0b42fd50e6994aafc73e77aec0da4ab0f13f6032 | |
parent | 6105de18bcb8a820b93cb24c5966cc9278d8eea5 (diff) | |
download | memcached-0fe9eac95c79c33d3ff89cae1e8fba9faaea95ef.tar.gz |
Added sanity check for maximum connections setting
-rw-r--r-- | memcached.c | 4 | ||||
-rwxr-xr-x | t/00-startup.t | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/memcached.c b/memcached.c index eb5ffd3..db82136 100644 --- a/memcached.c +++ b/memcached.c @@ -5244,6 +5244,10 @@ int main (int argc, char **argv) { break; case 'c': settings.maxconns = atoi(optarg); + if (settings.maxconns <= 0) { + fprintf(stderr, "Maximum connections must be greater than 0\n"); + return 1; + } break; case 'h': usage(); diff --git a/t/00-startup.t b/t/00-startup.t index 26967d0..77715c5 100755 --- a/t/00-startup.t +++ b/t/00-startup.t @@ -1,7 +1,7 @@ #!/usr/bin/perl use strict; -use Test::More tests => 18; +use Test::More tests => 20; use FindBin qw($Bin); use lib "$Bin/lib"; use MemcachedTest; @@ -75,6 +75,16 @@ eval { }; ok($@, "Died with illegal -B arg."); +# Maximum connections must be greater than 0. +eval { + my $server = new_memcached("-c 0"); +}; +ok($@, "Died with invalid maximum connections 0."); +eval { + my $server = new_memcached("-c -1"); +}; +ok($@, "Died with invalid maximum connections -1."); + # Should not allow -t 0 eval { my $server = new_memcached("-t 0"); |