1. 20 May, 2018 3 commits
    • michael-grunder's avatar
    • michael-grunder's avatar
      Use string2ll from Redis · 7bef042c
      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).
      7bef042c
    • Justin Brewer's avatar
      Fix bulk and multi-bulk length truncation · 10919758
      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: default avatarJustin Brewer <jzb0012@auburn.edu>
      10919758
  2. 19 May, 2018 1 commit
  3. 16 May, 2018 4 commits
  4. 14 May, 2018 3 commits
  5. 10 May, 2018 1 commit
  6. 09 May, 2018 1 commit
  7. 01 May, 2018 4 commits
  8. 28 Apr, 2018 2 commits
    • Justin Brewer's avatar
      Strip down fmacros.h · 49bbaacc
      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: default avatarJustin Brewer <jzb0012@auburn.edu>
      49bbaacc
    • Justin Brewer's avatar
      Use AF_UNIX · bbeab800
      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: default avatarJustin Brewer <jzb0012@auburn.edu>
      bbeab800
  9. 06 Jan, 2018 2 commits
  10. 05 Jan, 2018 5 commits
  11. 28 Dec, 2017 1 commit
    • Dmitri Vorobiev's avatar
      Strip compiler options from the CC variable · 12a9d1a3
      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: default avatarDmitri Vorobiev <dmitri.vorobiev@movial.com>
      12a9d1a3
  12. 27 Dec, 2017 1 commit
    • Dmitri Vorobiev's avatar
      Remove $(ARCH) expansion from the Makefile · 3238cf4f
      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: default avatarDmitri Vorobiev <dmitri.vorobiev@movial.com>
      3238cf4f
  13. 29 Nov, 2017 1 commit
  14. 07 Nov, 2017 2 commits
  15. 30 Oct, 2017 1 commit
  16. 01 Sep, 2017 2 commits
  17. 15 Jul, 2017 3 commits
    • not-a-robot[bot]'s avatar
      Merge #533 · 97d611e9
      not-a-robot[bot] authored
      533: Small fixes r=badboy
      
      97d611e9
    • not-a-robot[bot]'s avatar
      Merge #524 #525 · 74be165c
      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.
      74be165c
    • not-a-robot[bot]'s avatar
      Merge #523 · 7d996522
      not-a-robot[bot] authored
      523: Fix leak if setsockopt fails r=badboy
      
      7d996522
  18. 16 Jun, 2017 1 commit
  19. 15 Jun, 2017 2 commits