values.
BUG:150250
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@717984
283d02a7-25f6-0310-bc7c-
ecb5cbfe19da
d->file->seek(d->tagOffset);
d->footer.setData(d->file->readBlock(Footer::size()));
- if(d->footer.tagSize() == 0 ||
+ if(d->footer.tagSize() <= Footer::size() ||
d->footer.tagSize() > uint(d->file->length()))
return;
detach();
resize(length);
- ::memcpy(DATA(d), data, length);
+
+ if(length > 0)
+ ::memcpy(DATA(d), data, length);
return *this;
}
char *ByteVector::data()
{
detach();
- return DATA(d);
+ return size() > 0 ? DATA(d) : 0;
}
const char *ByteVector::data() const
{
- return DATA(d);
+ return size() > 0 ? DATA(d) : 0;
}
ByteVector ByteVector::mid(uint index, uint length) const
return ByteVector::null;
}
+ if(length == 0)
+ return ByteVector::null;
+
if(length > FilePrivate::bufferSize &&
length > ulong(File::length()))
{