memcached_string_take_value() takes wrong branch

Bug #1179545 reported by Arjan van Leeuwen on 2013-05-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmemcached
Medium
Brian Aker

Bug Description

In libmemcached/string.cc, in function memcached_string_take_value(), the code says

// If we fail at adding the null, we copy and move on
  if (memcached_success(memcached_string_append_null(self)))
  {
    return memcached_string_c_copy(self);
  }

The code and the comment do not agree with each other. It looks like that should have been memcached_failed. The attached patch fixes this.

Additionally, there is an assert there that I don't understand:

  if (memcached_string_length(self))
  {
    assert_msg(self, "Invalid memcached_string_st");
  }

I don't see why a non-zero length means invalid string, and the rest of the function seems to agree that it is indeed a valid string. Probably a mistake as well, but not changed in the patch since I'm not sure what was meant here.

Arjan van Leeuwen (avleeuwen) wrote :
Brian Aker (brianaker) wrote :

The assert_msg(self, "Invalid memcached_string_st"); <-- this is a typo

Thanks,... I will see about updating this to a more recent version.

Changed in libmemcached:
assignee: nobody → Brian Aker (brianaker)
milestone: none → 1.0.18
importance: Undecided → Medium
status: New → In Progress
Brian Aker (brianaker) on 2013-09-15
Changed in libmemcached:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers