From 53b1ee34ddba1446d81f2ce07c402db271a94674 Mon Sep 17 00:00:00 2001 From: Matt Stancliff Date: Thu, 13 Nov 2014 16:12:09 -0500 Subject: [PATCH] Fix ziplistDeleteRange index parameter It's valid to delete from negative offsets, so we *don't* want unsigned arguments here. --- src/ziplist.c | 2 +- src/ziplist.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ziplist.c b/src/ziplist.c index 8975e630..7e8823f5 100644 --- a/src/ziplist.c +++ b/src/ziplist.c @@ -781,7 +781,7 @@ unsigned char *ziplistDelete(unsigned char *zl, unsigned char **p) { } /* Delete a range of entries from the ziplist. */ -unsigned char *ziplistDeleteRange(unsigned char *zl, unsigned int index, unsigned int num) { +unsigned char *ziplistDeleteRange(unsigned char *zl, int index, unsigned int num) { unsigned char *p = ziplistIndex(zl,index); return (p == NULL) ? zl : __ziplistDelete(zl,p,num); } diff --git a/src/ziplist.h b/src/ziplist.h index bc27006a..ef0e2714 100644 --- a/src/ziplist.h +++ b/src/ziplist.h @@ -39,7 +39,7 @@ unsigned char *ziplistPrev(unsigned char *zl, unsigned char *p); unsigned int ziplistGet(unsigned char *p, unsigned char **sval, unsigned int *slen, long long *lval); unsigned char *ziplistInsert(unsigned char *zl, unsigned char *p, unsigned char *s, unsigned int slen); unsigned char *ziplistDelete(unsigned char *zl, unsigned char **p); -unsigned char *ziplistDeleteRange(unsigned char *zl, unsigned int index, unsigned int num); +unsigned char *ziplistDeleteRange(unsigned char *zl, int index, unsigned int num); unsigned int ziplistCompare(unsigned char *p, unsigned char *s, unsigned int slen); unsigned char *ziplistFind(unsigned char *p, unsigned char *vstr, unsigned int vlen, unsigned int skip); unsigned int ziplistLen(unsigned char *zl);