You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Fixed zero-length mutlibulk replies
This commit is contained in:
3
index.js
3
index.js
@@ -118,6 +118,9 @@ RedisReplyParser.prototype.execute = function (incoming_buf) {
|
|||||||
this.multi_bulk_length = parseInt(small_toString(this.tmp_buffer), 10);
|
this.multi_bulk_length = parseInt(small_toString(this.tmp_buffer), 10);
|
||||||
this.multi_bulk_replies = [];
|
this.multi_bulk_replies = [];
|
||||||
this.state = "type";
|
this.state = "type";
|
||||||
|
if (0 == this.multi_bulk_length) {
|
||||||
|
this.send_reply([]);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.emit("error", new Error("didn't see LF after NL reading multi bulk count"));
|
this.emit("error", new Error("didn't see LF after NL reading multi bulk count"));
|
||||||
this.state = "type"; // try to start over with next data chunk
|
this.state = "type"; // try to start over with next data chunk
|
||||||
|
6
test.js
6
test.js
@@ -209,10 +209,10 @@ tests.KEYS = function () {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
tests.KEYS_EMPTY = function () {
|
tests.MULTIBULK_ZERO_LENGTH = function () {
|
||||||
var name = "KEYS_EMPTY";
|
var name = "MULTIBULK_ZERO_LENGTH";
|
||||||
client.KEYS(['users:*'], function(err, results){
|
client.KEYS(['users:*'], function(err, results){
|
||||||
assert.strictEqual(null, err, 'error on empty KEYS');
|
assert.strictEqual(null, err, 'error on empty multibulk reply');
|
||||||
assert.strictEqual(0, results.length);
|
assert.strictEqual(0, results.length);
|
||||||
next(name);
|
next(name);
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user