The part_shift in RingData could be negative
Bug #924577 reported by
autumn wang
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Undecided
|
Samuel Merritt |
Bug Description
In common/
if not self._replica2p
else:
If the "part_power" in class RingBuilder is larger than 32, the value of " part_shift' in class RingData will be negative.
This will cause the following code failure, which is in line 133 of file common/
part = unpack_from('>I', key)[0] >> self._part_shift
Suggest: Add value checking in RingBuilder.
Changed in swift: | |
assignee: | nobody → Bavirisetty Ramya (bavirisetty-ramya) |
Changed in swift: | |
assignee: | Bavirisetty Ramya (bavirisetty-ramya) → nobody |
Changed in swift: | |
assignee: | nobody → Samuel Merritt (torgomatic) |
Changed in swift: | |
milestone: | none → 1.8.0-rc1 |
status: | Fix Committed → Fix Released |
Changed in swift: | |
milestone: | 1.8.0-rc1 → 1.8.0 |
To post a comment you must log in.
I am unable to confirm it properly because my swif-ring-builder runs out of RAM when trying to rebalance a ring with 33 power :-) Still, obviously it's a problem.