diff options
author | dormando <dormando@rydia.net> | 2018-10-23 15:42:33 -0700 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2018-10-23 15:42:33 -0700 |
commit | bb0980fbbafd4eb723f76918e7ca364360315c1b (patch) | |
tree | 1a3157a625f22061426867f480a57e8cf3ce1190 | |
parent | 566610d41bb224b3913ded99a53d1e2efa0a0d85 (diff) | |
download | memcached-bb0980fbbafd4eb723f76918e7ca364360315c1b.tar.gz |
fix INCR/DECR refcount leak for extstore headers1.5.12
Bug added in 2014. Same condition reused to bounce incr/decr commands
off of CHUNKED and ITEM_HDR items. Thus, incr/decr'ing a value that is
already in extstore would immediately cause a refcount leak :(
-rw-r--r-- | memcached.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/memcached.c b/memcached.c index f7c4359..8d79eba 100644 --- a/memcached.c +++ b/memcached.c @@ -4234,6 +4234,7 @@ enum delta_result_type do_add_delta(conn *c, const char *key, const size_t nkey, #else if (it->nbytes <= 2 || (it->it_flags & (ITEM_CHUNKED)) != 0) { #endif + do_item_remove(it); return NON_NUMERIC; } |