• Michael Grunder's avatar
    Allow users to replace allocator and handle OOM everywhere. (#800) · 8e0264cf
    Michael Grunder authored
    * Adds an indirection to every allocation/deallocation to allow users to 
      plug in ones of their choosing (use custom functions, jemalloc, etc).
    
    * Gracefully handle OOM everywhere in hiredis.  This should make it possible
      for users of the library to have more flexibility in how they handle such situations.
    
    * Changes `redisReaderTask->elements` from an `int` to a `long long` to prevent
      a possible overflow when transferring the task elements into a `redisReply`.
    
    * Adds a configurable `max elements` member to `redisReader` that defaults to
      2^32 - 1.  This can be set to "unlimited" by setting the value to zero.
    8e0264cf
async.c 26 KB