Merge pull request #3338 from tielei/unstable

A string with 21 chars is not representable as a 64-bit integer.
This commit is contained in:
Salvatore Sanfilippo 2016-06-23 16:06:15 +02:00 committed by GitHub
commit 393c4686ef

View File

@ -385,10 +385,10 @@ robj *tryObjectEncoding(robj *o) {
if (o->refcount > 1) return o;
/* Check if we can represent this string as a long integer.
* Note that we are sure that a string larger than 21 chars is not
* Note that we are sure that a string larger than 20 chars is not
* representable as a 32 nor 64 bit integer. */
len = sdslen(s);
if (len <= 21 && string2l(s,len,&value)) {
if (len <= 20 && string2l(s,len,&value)) {
/* This object is encodable as a long. Try to use a shared object.
* Note that we avoid using shared integers when maxmemory is used
* because every object needs to have a private LRU field for the LRU