summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororanagra <oran@redislabs.com>2016-11-10 16:59:52 +0200
committeroranagra <oran@redislabs.com>2016-11-10 16:59:52 +0200
commita1a07225b3963eb251b518737a3f6b59515faaa1 (patch)
treee741f4f697c9d8ab79df1f3bf01d202ecf9f1ae9
parentb399288ff535cd95e278dbf4babd25bfb896c0d7 (diff)
downloadredis-a1a07225b3963eb251b518737a3f6b59515faaa1.tar.gz
fix unsigned int overflow in adjustOpenFilesLimit
-rw-r--r--src/server.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server.c b/src/server.c
index 7e9b962b3..ed6d7d683 100644
--- a/src/server.c
+++ b/src/server.c
@@ -1570,9 +1570,9 @@ void adjustOpenFilesLimit(void) {
if (bestlimit < oldlimit) bestlimit = oldlimit;
if (bestlimit < maxfiles) {
- int old_maxclients = server.maxclients;
- server.maxclients = bestlimit-CONFIG_MIN_RESERVED_FDS;
- if (server.maxclients < 1) {
+ unsigned int old_maxclients = server.maxclients;
+ server.maxclients = bestlimit-CONFIG_MIN_RESERVED_FDS; /* NOTICE: server.maxclients is unsigned */
+ if (bestlimit <= CONFIG_MIN_RESERVED_FDS) {
serverLog(LL_WARNING,"Your current 'ulimit -n' "
"of %llu is not enough for the server to start. "
"Please increase your open file limit to at least "