summaryrefslogtreecommitdiff
path: root/sds.h
diff options
context:
space:
mode:
authorMichael Grunder <michael.grunder@gmail.com>2020-06-07 14:38:16 -0700
committerGitHub <noreply@github.com>2020-06-07 14:38:16 -0700
commit6448f735d5663c7c58aa269d8f53f06c4640ef5a (patch)
treea7d050ffe5f41cda3b51864a4c612abcd989850c /sds.h
parentc7267235455f48e7ce4aa5cb1d0bc0cfe2b7ba09 (diff)
sdsrange overflow fix (#830)
Fix overflow bug in `sdsrange`
Diffstat (limited to 'sds.h')
-rw-r--r--sds.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sds.h b/sds.h
index 3f9a964..eda8833 100644
--- a/sds.h
+++ b/sds.h
@@ -36,6 +36,8 @@
#define SDS_MAX_PREALLOC (1024*1024)
#ifdef _MSC_VER
#define __attribute__(x)
+typedef long long ssize_t;
+#define SSIZE_MAX (LLONG_MAX >> 1)
#endif
#include <sys/types.h>
@@ -239,7 +241,7 @@ sds sdscatprintf(sds s, const char *fmt, ...);
sds sdscatfmt(sds s, char const *fmt, ...);
sds sdstrim(sds s, const char *cset);
-void sdsrange(sds s, int start, int end);
+int sdsrange(sds s, ssize_t start, ssize_t end);
void sdsupdatelen(sds s);
void sdsclear(sds s);
int sdscmp(const sds s1, const sds s2);