- 02 Oct, 2016 4 commits
- 26 Sep, 2016 3 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
This commit fixes a vunlerability reported by Cory Duplantis of Cisco Talos, see TALOS-2016-0206 for reference. CONFIG SET client-output-buffer-limit accepts as client class "master" which is actually only used to implement CLIENT KILL. The "master" class has ID 3. What happens is that the global structure: server.client_obuf_limits[class] Is accessed with class = 3. However it is a 3 elements array, so writing the 4th element means to write up to 24 bytes of memory *after* the end of the array, since the structure is defined as: typedef struct clientBufferLimitsConfig { unsigned long long hard_limit_bytes; unsigned long long soft_limit_bytes; time_t soft_limit_seconds; } clientBufferLimitsConfig; EVALUATION OF IMPACT: Checking what's past the boundaries of the array in the global 'server' structure, we find AOF state fields: clientBufferLimitsConfig client_obuf_limits[CLIENT_TYPE_OBUF_COUNT]; ...
-
- 21 Sep, 2016 2 commits
-
-
Salvatore Sanfilippo authored
added RM_CreateStringPrintf
-
Dvir Volk authored
-
- 20 Sep, 2016 1 commit
-
-
antirez authored
Recently we moved the "return ASAP" condition for the Delete() function from checking .size to checking .used, which is smarter, however while testing the first table alone always works to ensure the dict is totally emtpy, when we test the .size field, testing .used requires testing both T0 and T1, since a rehashing could be in progress.
-
- 19 Sep, 2016 5 commits
-
-
antirez authored
This is important both to reset the magic to 0, so that it will not match if the structure is not explicitly set, and to initialize other things we may add like counters and such.
-
antirez authored
-
antirez authored
-
antirez authored
The goal is to get copy-on-write amount of the child from the parent.
-
antirez authored
It was changed in Redis but not in redis-cli. Thanks to @oranagra for signaling.
-
- 16 Sep, 2016 7 commits
- 15 Sep, 2016 6 commits
-
-
antirez authored
The size of the node depends on the node level, however it is not stored into the node itself, is an implicit information, so we use zmalloc_size() in order to compute the sorted set size.
-
antirez authored
-
antirez authored
The new SAMPLES option is added, defaulting to 5, and with 0 being a special value to scan the whole set of elements. Fixes to the object size computation were made since the original PR assumed data structures still contaning robj structures, while now after the lazyfree changes, are all SDS strings.
-
antirez authored
-
antirez authored
-
antirez authored
-
- 14 Sep, 2016 4 commits
-
-
antirez authored
What they say about "naming things" in programming?
-
antirez authored
-
antirez authored
Optimizations suggested and originally implemented by @oranagra. Re-applied by @antirez using the modified API.
-
oranagra authored
Notes by @antirez: This patch was picked from a larger commit by Oran and adapted to change the API a bit. The basic idea is to avoid double lookups when there is to use the value of the deleted entry. BEFORE: entry = dictFind( ... ); /* 1st lookup. */ /* Do somethjing with the entry. */ dictDelete(...); /* 2nd lookup. */ AFTER: entry = dictUnlink( ... ); /* 1st lookup. */ /* Do somethjing with the entry. */ dictFreeUnlinkedEntry(entry); /* No lookups!. */
-
- 13 Sep, 2016 2 commits
-
-
antirez authored
This code was extracted from @oranagra PR #3223 and modified in order to provide only certain amounts of information compared to the original code. It was also moved from DEBUG to the newly introduced MEMORY command. Thanks to Oran for the implementation and the PR. It implements detailed memory usage stats that can be useful in both provisioning and troubleshooting memory usage in Redis.
-
antirez authored
For most tasks, we need the memory estimation to be O(1) by default. This commit also implements an initial MEMORY command. Note that objectComputeSize() takes the number of samples to check as argument, so MEMORY should be able to get the sample size as option to make precision VS CPU tradeoff tunable. Related to: PR #3223.
-
- 12 Sep, 2016 2 commits
- 09 Sep, 2016 4 commits
-
-
Salvatore Sanfilippo authored
fix memory error on module unload
-
antirez authored
-
antirez authored
-
antirez authored
-