diff --git a/src/sds.c b/src/sds.c index 280f3ded8..a625c66b7 100644 --- a/src/sds.c +++ b/src/sds.c @@ -939,15 +939,13 @@ sds *sdssplitlen(const char *s, ssize_t len, const char *sep, int seplen, int *c long start = 0, j; sds *tokens; - if (seplen < 1 || len < 0) return NULL; - + if (seplen < 1 || len <= 0) { + *count = 0; + return NULL; + } tokens = s_malloc(sizeof(sds)*slots); if (tokens == NULL) return NULL; - if (len == 0) { - *count = 0; - return tokens; - } for (j = 0; j < (len-(seplen-1)); j++) { /* make sure there is room for the next element and the final one */ if (slots < elements+2) {