Fix horrible leak in String::Data::operator=(String::Data&&)
And that, my friends, is why we recommend using standard containers instead of rolling your own.
This commit is contained in:
parent
fbd32fb512
commit
1ccccbce04
|
@ -34,7 +34,7 @@ String::Data::Data(Data&& other) noexcept
|
|||
if (other.is_long())
|
||||
{
|
||||
l = other.l;
|
||||
other.s.size = 1;
|
||||
other.set_empty();
|
||||
}
|
||||
else
|
||||
s = other.s;
|
||||
|
@ -52,6 +52,8 @@ String::Data& String::Data::operator=(const Data& other)
|
|||
|
||||
String::Data& String::Data::operator=(Data&& other) noexcept
|
||||
{
|
||||
release();
|
||||
|
||||
if (other.is_long())
|
||||
{
|
||||
l = other.l;
|
||||
|
|
Loading…
Reference in New Issue
Block a user