fix for the LZF off-by-one bug added

This commit is contained in:
antirez 2009-04-29 01:04:04 +02:00
parent b284af55d8
commit 3a2694c441
2 changed files with 3 additions and 2 deletions

1
TODO
View File

@ -1,5 +1,6 @@
BEFORE REDIS 1.0.0-rc1
- TTL command that returns -1 if a key is not volatile otherwise the time to live of a volatile key.
- Remove max number of args limit
- What happens if the saving child gets killed instead to end normally? Handle this.
- Make sinterstore / unionstore / sdiffstore returning the cardinality of the resulting set.

View File

@ -1704,7 +1704,7 @@ static int rdbSaveLzfStringObject(FILE *fp, robj *obj) {
/* We require at least four bytes compression for this to be worth it */
outlen = sdslen(obj->ptr)-4;
if (outlen <= 0) return 0;
if ((out = zmalloc(outlen)) == NULL) return 0;
if ((out = zmalloc(outlen+1)) == NULL) return 0;
comprlen = lzf_compress(obj->ptr, sdslen(obj->ptr), out, outlen);
if (comprlen == 0) {
zfree(out);
@ -1741,7 +1741,7 @@ static int rdbSaveStringObject(FILE *fp, robj *obj) {
/* Try LZF compression - under 20 bytes it's unable to compress even
* aaaaaaaaaaaaaaaaaa so skip it */
if (len > 20) {
if (1 && len > 20) {
int retval;
retval = rdbSaveLzfStringObject(fp,obj);