From a4e3ddd33cf9f847ee457391a4771edf0644fd2b Mon Sep 17 00:00:00 2001 From: guybe7 Date: Wed, 24 Feb 2021 15:41:50 +0100 Subject: [PATCH] XTRIM: Parse args before lookupKey (#8550) This aligns better with other commands, specifically XADD --- src/t_stream.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/t_stream.c b/src/t_stream.c index d9db97c3c..4a425fd78 100644 --- a/src/t_stream.c +++ b/src/t_stream.c @@ -3229,17 +3229,17 @@ cleanup: void xtrimCommand(client *c) { robj *o; + /* Argument parsing. */ + streamAddTrimArgs parsed_args; + if (streamParseAddOrTrimArgsOrReply(c, &parsed_args, 1) < 0) + return; /* streamParseAddOrTrimArgsOrReply already replied. */ + /* If the key does not exist, we are ok returning zero, that is, the * number of elements removed from the stream. */ if ((o = lookupKeyWriteOrReply(c,c->argv[1],shared.czero)) == NULL || checkType(c,o,OBJ_STREAM)) return; stream *s = o->ptr; - /* Argument parsing. */ - streamAddTrimArgs parsed_args; - if (streamParseAddOrTrimArgsOrReply(c, &parsed_args, 1) < 0) - return; /* streamParseAddOrTrimArgsOrReply already replied. */ - /* Perform the trimming. */ int64_t deleted = streamTrim(s, &parsed_args); if (deleted) {