X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/2f996f02174343ce766710fc6871e2e6df8e73c6..4fe83b554ac1b16ddad559df788b80d4864310e1:/src/object.c diff --git a/src/object.c b/src/object.c index 51582619..21268340 100644 --- a/src/object.c +++ b/src/object.c @@ -1,5 +1,6 @@ #include "redis.h" #include +#include robj *createObject(int type, void *ptr) { robj *o; @@ -319,7 +320,7 @@ int getDoubleFromObject(robj *o, double *target) { redisAssert(o->type == REDIS_STRING); if (o->encoding == REDIS_ENCODING_RAW) { value = strtod(o->ptr, &eptr); - if (eptr[0] != '\0') return REDIS_ERR; + if (eptr[0] != '\0' || isnan(value)) return REDIS_ERR; } else if (o->encoding == REDIS_ENCODING_INT) { value = (long)o->ptr; } else {