1. 03 Jun, 2015 2 commits
  2. 28 Apr, 2015 1 commit
    • antirez's avatar
      Fix Sentinel memory leak (hiredis bug) · c806dd79
      antirez authored
      This fixes issue #2535, that was actually an hiredis library bug (I
      submitted an issue and fix to the redis/hiredis repo as well).
      
      When an asynchronous hiredis connection subscribes to a Pub/Sub channel
      and gets an error, and in other related conditions, the function
      redisProcessCallbacks() enters a code path where the link is
      disconnected, however the function returns before freeing the allocated
      reply object. This causes a memory leak. The memory leak was trivial to
      trigger in Redis Sentinel, which uses hiredis, every time we tried to
      subscribe to an instance that required a password, in case the Sentinel
      was configured either with the wrong password or without password at
      all. In this case, the -AUTH error caused the leaking code path to be
      executed.
      
      It was verified with Valgrind that after this change the leak no longer
      happens in Sentinel with a misconfigured authentication password.
      c806dd79
  3. 02 Jan, 2015 1 commit
  4. 12 Dec, 2014 1 commit
  5. 05 Dec, 2014 1 commit
  6. 24 Nov, 2014 1 commit
  7. 14 Nov, 2014 5 commits
    • antirez's avatar
      lua_cjson.c Lua includes: angled -> quoted. · 0ed2c601
      antirez authored
      0ed2c601
    • Matt Stancliff's avatar
      Lua: upgrade cmsgpack to 0.4.0 · 90b6337c
      Matt Stancliff authored
      Main reasons for upgrade:
        - Remove a warning when building Redis
        - Add multi pack/unpack
        - Improve memory usage and use Lua allocator properly
        - Fix some edge case encoding/decoding bugs
      90b6337c
    • Matt Stancliff's avatar
      Lua: remove new warning added by cjson header · da18dd34
      Matt Stancliff authored
      clang doesn't like "extern inline" when no definition
      is given right away.
      da18dd34
    • Matt Stancliff's avatar
      Lua: Use Redis solaris compatability for cjson too · a9900ad3
      Matt Stancliff authored
      cjson calls isinf, but some Solaris versions don't have isinf
      even with the attempted fix we have in deps/Makefile.
      
      We can harmlessly include the Redis solarisfixes.h header to
      give cjson proper isinf.
      
      Note: cjson has a compile-time setting for using their own defined
      isinf, but the Redis definition in solarisfixes.h is more complete.
      
      Fixes antirez#1620
      a9900ad3
    • Matt Stancliff's avatar
      Lua: Upgrade cjson to 2.1.0 (2012-03-01) · 4fdcd213
      Matt Stancliff authored
      The new cjson has some improvements over our current version including
      increased platform compatability, a new resource limit to restrict
      decode depth, and better invalid number handling.
      
      One minor change was required to deps/Makefile because this version
      of cjson doesn't export itself globally, so we added a quick little
      define of -DENABLE_CJSON_GLOBAL.
      
      cjson now has an optional higher performing float parsing interface,
      but we are not including it (g_fmt.c, dtoa.c) because it requires
      endianness declaration during compile time.
      
      This commit is exactly lua_cjson.c from 2.1.0 with one minor
      change of altering the two Lua includes for local search
      instead of system-wide importing.
      4fdcd213
  8. 09 Oct, 2014 1 commit
    • Matt Stancliff's avatar
      Lua: Add bitop · 3fecb961
      Matt Stancliff authored
      A few people have written custom C commands because bit
      manipulation isn't exposed through Lua.  Let's give
      them Mike Pall's bitop.
      
      This adds bitop 1.0.2 (2012-05-08) from http://bitop.luajit.org/
      
      bitop is imported as "bit" into the global namespace.
      
      New Lua commands: bit.tobit, bit.tohex, bit.bnot, bit.band, bit.bor, bit.bxor,
      bit.lshift, bit.rshift, bit.arshift, bit.rol, bit.ror, bit.bswap
      
      Verification of working (the asserts would abort on error, so (nil) is correct):
      127.0.0.1:6379> eval "assert(bit.tobit(1) == 1); assert(bit.band(1) == 1); assert(bit.bxor(1,2) == 3); assert(bit.bor(1,2,4,8,16,32,64,128) == 255)" 0
      (nil)
      127.0.0.1:6379> eval 'assert(0x7fffffff == 2147483647, "broken hex literals"); assert(0xffffffff == -1 or 0xffffffff == 2^32-1, "broken hex literals"); assert(tostring(-1) == "-1", "broken tostring()"); assert(tostring(0xffffffff) == "-1" or tostring(0xffffffff) == "4294967295", "broken tostring()")' 0
      (nil)
      
      Tests also integrated into the scripting tests and can be run with:
      ./runtest --single unit/scripting
      
      Tests are excerpted from `bittest.lua` included in the bitop distribution.
      3fecb961
  9. 06 Oct, 2014 1 commit
  10. 29 Sep, 2014 2 commits
    • Aaron Rutkovsky's avatar
      Fix typos · 3a82b8ac
      Aaron Rutkovsky authored
      Closes #1513
      3a82b8ac
    • Matt Stancliff's avatar
      Update linenoise accessory files · 6e0a280c
      Matt Stancliff authored
      The core linenoise code was being backported, but not
      the README or example.  It's less confusing for users
      if everything matches across directories.
      
      Fix inspired by @thrig
      
      Closes #1872
      6e0a280c
  11. 22 Sep, 2014 1 commit
  12. 18 Sep, 2014 1 commit
  13. 26 Aug, 2014 1 commit
  14. 25 Aug, 2014 1 commit
  15. 13 Aug, 2014 1 commit
  16. 12 Aug, 2014 1 commit
  17. 07 Aug, 2014 1 commit
  18. 23 Jun, 2014 4 commits
  19. 20 Jun, 2014 2 commits
  20. 13 Mar, 2014 1 commit
  21. 27 Aug, 2013 1 commit
  22. 12 Aug, 2013 1 commit
  23. 25 Jul, 2013 1 commit
  24. 11 Jul, 2013 1 commit
  25. 29 Apr, 2013 1 commit
  26. 18 Apr, 2013 1 commit
    • antirez's avatar
      Redis/Jemalloc Gitignore were too aggressive. · d04afd62
      antirez authored
      Redis gitignore was too aggressive since simply broken.
      
      Jemalloc gitignore was too agressive because it is conceived to just
      keep the files that allow to generate all the rest in development
      environments (so for instance the "configure" file is excluded).
      d04afd62
  27. 16 Mar, 2013 2 commits
  28. 23 Jan, 2013 1 commit
  29. 17 Dec, 2012 1 commit