This closes a loop-hole that could allow a non-canonical in memory
hobject_t::get_max() object which would return true for is_max(), but
false for *this == hobject_t::get_max().
Fixes: http://tracker.ceph.com/issues/16113
Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit
42fad4b76def50a0984bf3de06f78ed434d56954)
pool = INT64_MIN;
assert(is_min());
}
+
+ // for compatibility with some earlier verisons which might encoded
+ // a non-canonical max object
+ if (max) {
+ *this = hobject_t::get_max();
+ }
}
DECODE_FINISH(bl);
build_hash_cache();