1. 01 Sep, 2020 4 commits
  2. 20 Jul, 2020 3 commits
    • yoav-steinberg's avatar
      Support passing stack allocated module strings to moduleCreateArgvFromUserFormat (#7528) · e28aa99a
      yoav-steinberg authored
      Specifically, the key passed to the module aof_rewrite callback is a stack allocated robj. When passing it to RedisModule_EmitAOF (with appropriate "s" fmt string) redis used to panic when trying to inc the ref count of the stack allocated robj. Now support such robjs by coying them to a new heap robj. This doesn't affect performance because using the alternative "c" or "b" format strings also copies the input to a new heap robj.
      
      (cherry picked from commit d484b8a0)
      e28aa99a
    • WuYunlong's avatar
      Refactor RM_KeyType() by using macro. (#7486) · 83f55f61
      WuYunlong authored
      
      (cherry picked from commit dc690161)
      83f55f61
    • meir@redislabs.com's avatar
      Fix RM_ScanKey module api not to return int encoded strings · 51e17845
      meir@redislabs.com authored
      The scan key module API provides the scan callback with the current
      field name and value (if it exists). Those arguments are RedisModuleString*
      which means it supposes to point to robj which is encoded as a string.
      Using createStringObjectFromLongLong function might return robj that
      points to an integer and so break a module that tries for example to
      use RedisModule_StringPtrLen on the given field/value.
      
      The PR introduces a fix that uses the createObject function and sdsfromlonglong function.
      Using those function promise that the field and value pass to the to the
      scan callback will be Strings.
      
      The PR also changes the Scan test module to use RedisModule_StringPtrLen
      to catch the issue. without this, the issue is hidden because
      RedisModule_ReplyWithString knows to handle integer encoding of the
      given robj (RedisModuleString).
      
      The PR also introduces a new test to verify the issue is solved.
      
      (cherry picked from commit a89bf734)
      51e17845
  3. 24 Apr, 2020 1 commit
  4. 07 Apr, 2020 4 commits
  5. 31 Mar, 2020 2 commits
  6. 25 Mar, 2020 3 commits
  7. 05 Mar, 2020 5 commits
  8. 27 Feb, 2020 4 commits
  9. 12 Feb, 2020 4 commits
  10. 04 Feb, 2020 4 commits
    • Oran Agra's avatar
      fix uninitialized info_cb var in module.c · ec0c61da
      Oran Agra authored
      ec0c61da
    • Guy Benoish's avatar
      ld2string should fail if string contains \0 in the middle · 6fe55c2f
      Guy Benoish authored
      This bug affected RM_StringToLongDouble and HINCRBYFLOAT.
      I added tests for both cases.
      
      Main changes:
      1. Fixed string2ld to fail if string contains \0 in the middle
      2. Use string2ld in getLongDoubleFromObject - No point of
         having duplicated code here
      
      The two changes above broke RM_SaveLongDouble/RM_LoadLongDouble
      because the long double string was saved with length+1 (An innocent
      mistake, but it's actually a bug - The length passed to
      RM_SaveLongDouble should not include the last \0).
      6fe55c2f
    • antirez's avatar
      bbce3ba9
    • Guy Benoish's avatar
      Modules: Fix blocked-client-related memory leak · 40295fb3
      Guy Benoish authored
      If a blocked module client times-out (or disconnects, unblocked
      by CLIENT command, etc.) we need to call moduleUnblockClient
      in order to free memory allocated by the module sub-system
      and blocked-client private data
      
      Other changes:
      Made blockedonkeys.tcl tests a bit more aggressive in order
      to smoke-out potential memory leaks
      40295fb3
  11. 10 Jan, 2020 1 commit
  12. 29 Dec, 2019 1 commit
  13. 18 Dec, 2019 3 commits
  14. 17 Dec, 2019 1 commit