mirror of
https://github.com/taglib/taglib.git
synced 2025-05-27 13:10:26 -04:00
Fix the wrong padding of ByteVector::resize().
The expanded area will be filled with garbage instead of correct padding in some corner cases.
This commit is contained in:
parent
62ab41fa07
commit
ff8443f33a
@ -702,6 +702,7 @@ ByteVector &ByteVector::resize(uint size, char padding)
|
||||
{
|
||||
if(size != d->length) {
|
||||
detach();
|
||||
d->data->data.resize(d->offset + d->length);
|
||||
d->data->data.resize(d->offset + size, padding);
|
||||
d->length = size;
|
||||
}
|
||||
|
@ -123,6 +123,12 @@ public:
|
||||
CPPUNIT_ASSERT(i.containsAt(j, 5, 0));
|
||||
CPPUNIT_ASSERT(i.containsAt(j, 6, 1));
|
||||
CPPUNIT_ASSERT(i.containsAt(j, 6, 1, 3));
|
||||
|
||||
ByteVector k = ByteVector("0123456789").mid(3, 4);
|
||||
k.resize(6, 'A');
|
||||
CPPUNIT_ASSERT_EQUAL(uint(6), k.size());
|
||||
CPPUNIT_ASSERT_EQUAL('6', k[3]);
|
||||
CPPUNIT_ASSERT_EQUAL('A', k[4]);
|
||||
}
|
||||
|
||||
void testFind1()
|
||||
|
Loading…
Reference in New Issue
Block a user