Project

General

Profile

Actions

Bug #4123

closed

buffer::list::zero overflows and returns before completion

Added by Loïc Dachary about 11 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
common
Target version:
-
% Done:

0%

Source:
Q/A
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Overflow

When buffer::list::zero is called on a buffer::list with a single "ABC" in one buffer::ptr with buffer::list::zero(0, 1) it zero all buffer::ptr. The expected result is that the "ABC" buffer::ptr is modified to "\0BC"

Returns before completion

When buffer::list::zero is called on a buffer::list with "ABC" and "DEF" in two different buffer::ptr with buffer::list::zero(4, 1) it will do nothing. The expected result is that the "DEF" buffer::ptr is modified to "D\0F"


Related issues 1 (0 open1 closed)

Related to Ceph - Tasks #4066: unit tests for src/include/buffer.hResolvedLoïc Dachary02/09/201302/16/2013

Actions
Actions #1

Updated by Loïc Dachary about 11 years ago

  • Description updated (diff)
Actions #2

Updated by Loïc Dachary about 11 years ago

  • Description updated (diff)
Actions #3

Updated by Loïc Dachary about 11 years ago

  • Description updated (diff)
Actions #4

Updated by Loïc Dachary about 11 years ago

The test to check if the pointer is past the end of range to be zeroed is reversed. It is o+l >= p which will always be true if the range spans over the first buffer::ptr . It must be "o+l <= p" meaning the pointer is past the end of the range and there is no need to loop over the remaining buffer::ptr in the buffer::list

Actions #5

Updated by Loïc Dachary about 11 years ago

  • Subject changed from buffer::list::zero returns before completion to buffer::list::zero overflows and returns before completion
  • Description updated (diff)
Actions #6

Updated by Loïc Dachary about 11 years ago

Here is the proposed fix https://github.com/ceph/ceph/pull/53

Actions #7

Updated by Loïc Dachary about 11 years ago

  • Status changed from In Progress to Fix Under Review
Actions #8

Updated by Sage Weil about 11 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF