- 20 May, 2018 3 commits
-
-
michael-grunder authored
-
michael-grunder authored
This commit pulls string2ll from Redis (with permission from Antirez) as strtoll is 2-3x slower and even worse vs the original version in hiredis that didn't check for overflow at all. By using string2ll there is almost no measurable performance impact of overflow detection even in integer parsing heavy workloads (e.g. INCRBY commands).
-
Justin Brewer authored
processMultiBulkItem truncates the value read from readLongLong, resulting in a corrupted state when the next item is read. createArray takes an int, so bound to INT_MAX. Inspection showed that processBulkItem had the same truncation issue. createString takes size_t, so bound to SIZE_MAX. This only has an effect on 32-bit platforms. A strict lower bound is also added, since negative lengths other than -1 are invalid according to RESP. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
- 19 May, 2018 1 commit
-
-
Justin Brewer authored
Badly formatted or out-of-range integers are now protocol errors. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
- 16 May, 2018 4 commits
-
-
michael-grunder authored
-
michael-grunder authored
-
michael-grunder authored
-
Michael Grunder authored
Use cp -pPR instead of cp -a
-
- 14 May, 2018 3 commits
-
-
Ryan Schmidt authored
This should be equivalent but compatible with older versions of cp.
-
Ryan Schmidt authored
Fixes #437.
-
michael-grunder authored
-
- 10 May, 2018 1 commit
-
-
michael-grunder authored
-
- 09 May, 2018 1 commit
-
-
michael-grunder authored
-
- 01 May, 2018 4 commits
-
-
Justin Brewer authored
free(NULL) is a valid NOP. Most of the hiredis free functions behave the same way. redisReaderFree is updated to also be NULL-safe. There is one redundant NULL check at sds.c:1036, but it's left as is since sds is imported from upstream. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
Justin Brewer authored
calloc is guaranteed to provide a zero-initialized buffer. There is no need to set fields to zero explicitly. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
Justin Brewer authored
freeaddrinfo is not required by POSIX to be NULL-safe. OpenBSD will SIGSEGV. NetBSD will assert. FreeBSD up to 11.1 will SIGSEGV, while in future versions, it will be a silent NOP [1]. Commit d4b715f0 ("Fix potential race in 'invalid timeout' tests") added a code path to _redisContextConnectTcp which calls freeaddrinfo(NULL), triggering the segfault. Put a NULL check around the call to freeaddrinfo. [1] - https://github.com/freebsd/freebsd/commit/e9167239034a1e475c3238f8d133ebf703424ee0 Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
Justin Brewer authored
Since _GNU_SOURCE is now guaranteed to be unset, it is no longer necessary to support the GNU-specific version of strerror_r. Drop __redis_strerror_r from the header, and call strerror_r directly. This breaks any external users of this macro, but they shouldn't have been using it in the first place. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
- 28 Apr, 2018 2 commits
-
-
Justin Brewer authored
strerror_r and addrinfo require _POSIX_C_SOURCE >= 200112L, which is implied by _XOPEN_SOURCE >= 600. With the removal of AF_LOCAL usage, the only non-standard features being used are the TCP_KEEP* socket flags. _DARWIN_C_SOURCE is required to expose TCP_KEEPALIVE. Fall back to using _XOPEN_SOURCE 600 for all platforms, and additionally define _DARWIN_C_SOURCE for Darwin. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
Justin Brewer authored
AF_LOCAL is the old, non-standardized name for AF_UNIX. Just use AF_UNIX, rather than wrestling with platform specifics of AF_LOCAL definitions. Signed-off-by:
Justin Brewer <jzb0012@auburn.edu>
-
- 06 Jan, 2018 2 commits
-
-
not-a-robot[bot] authored
569: Ibm aix fix r=badboy
-
Jan-Erik Rediger authored
Closes #422
-
- 05 Jan, 2018 5 commits
-
-
not-a-robot[bot] authored
568: Make XOPEN_SOURCE definition explicit per architecture r=badboy Fixes #441
-
Jan-Erik Rediger authored
Fixes #441
-
cdliuqiang@gmail.com authored
-
Jan-Erik Rediger authored
Fix "make install" on OpenBSD
-
Jan-Erik Rediger authored
Remove $(ARCH) expansion from the Makefile
-
- 28 Dec, 2017 1 commit
-
-
Dmitri Vorobiev authored
The Makefile checks validity of the compiler command in the CC variable by feeding the contents of that variable to the `type' utility. Some environments include compiler options in the CC variable such as architecture specific tuning flags. For such cases it is necessary to first strip everything except the command itself from the contents of the CC variable prior to checking the command with the type utility, which is what this patch is introducing. We use shell parameter expansion mechanism for this purpose. Signed-off-by:
Dmitri Vorobiev <dmitri.vorobiev@movial.com>
-
- 27 Dec, 2017 1 commit
-
-
Dmitri Vorobiev authored
Some compilation environments (such as Yocto) define the ARCH environment variable to indicate the target architecture. For such enviroments, hiredis build fails, because the expanded $(ARCH) variable in the Makefile gets erroneously interpreted as an argument to the `-ggdb' command line option during the compilation stage or as an input file name during the linking stage. This patch removes $(ARCH) expansions from the Makefile. This doesn't harm cross-compilation, the latter goes fine with the properly assigned CC environment variable. For native builds, this patch does not imply any changes. Signed-off-by:
Dmitri Vorobiev <dmitri.vorobiev@movial.com>
-
- 29 Nov, 2017 1 commit
-
-
Zach Shipko authored
-
- 07 Nov, 2017 2 commits
-
-
not-a-robot[bot] authored
554: build: do not assume that INSTALL is cp r=badboy INSTALL is supposed to be `install` in most of the cases which doesn't work with directories, but works perfectly with files. Don't do this assumption. Reported-by:
Jiří Vymazal <jvymazal@redhat.com> References: https://bugzilla.redhat.com/show_bug.cgi?id=1506251 Signed-off-by:
Igor Gnatenko <i.gnatenko.brain@gmail.com>
-
Jan-Erik Rediger authored
-
- 30 Oct, 2017 1 commit
-
-
Igor Gnatenko authored
INSTALL is supposed to be `install` in most of the cases which doesn't work with directories, but works perfectly with files. Don't do this assumption. Reported-by:
Jiří Vymazal <jvymazal@redhat.com> References: https://bugzilla.redhat.com/show_bug.cgi?id=1506251 Signed-off-by:
Igor Gnatenko <i.gnatenko.brain@gmail.com>
-
- 01 Sep, 2017 2 commits
-
-
Jan-Erik Rediger authored
correct spelling mistake
-
Edward Betts authored
-
- 15 Jul, 2017 3 commits
-
-
not-a-robot[bot] authored
533: Small fixes r=badboy
-
not-a-robot[bot] authored
524: Don't pass a negative value to __redisAsyncCommand if redisFormatSdsCommandArgv fails r=badboy 525: Fix compilation on FreeBSD 10.3 with default compiler r=badboy Given FreeBSD 10.3 with default compiler: > $ cc -v > FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 > Target: x86_64-unknown-freebsd10.3 Defining _XOPEN_SOURCE to 600 on the fixed line leads to the following errors: > cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c > net.c:435:29: error: use of undeclared identifier 'AF_LOCAL' > if (redisCreateSocket(c,AF_LOCAL) < 0) > ^ > net.c:460:21: error: use of undeclared identifier 'AF_LOCAL' > sa.sun_family = AF_LOCAL; > ^ > 2 errors generated. > AF_LOCAL is defined in sys/socket.h within ifdef __BSD_VISIBLE. __BSD_VISIBLE could be defined in sys/cdefs.h, but it is never done if _XOPEN_SOURCE is defined. So on FreeBSD _XOPEN_SOURCE shouldn't be defined.
-
not-a-robot[bot] authored
523: Fix leak if setsockopt fails r=badboy
-
- 16 Jun, 2017 1 commit
-
-
Jan-Erik Rediger authored
Assert statement calls a function which has side effects
-
- 15 Jun, 2017 2 commits