even when malloc() is called with 0 as size it returns non-null pointer
(some random garbage)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
if (aalloc != a) {
ptr = static_cast<T *>(malloc(aalloc * sizeof(T)));
Q_CHECK_PTR(ptr);
- if (ptr) {
- s = 0;
- a = aalloc;
-
- if (QTypeInfo<T>::isStatic) {
- // copy all the old elements
- while (s < copySize) {
- new (ptr+s) T(*(oldPtr+s));
- (oldPtr+s)->~T();
- s++;
- }
- } else {
- memcpy(ptr, oldPtr, copySize * sizeof(T));
+ s = 0;
+ a = aalloc;
+
+ if (QTypeInfo<T>::isStatic) {
+ // copy all the old elements
+ while (s < copySize) {
+ new (ptr+s) T(*(oldPtr+s));
+ (oldPtr+s)->~T();
+ s++;
}
} else {
- ptr = oldPtr;
- return;
+ memcpy(ptr, oldPtr, copySize * sizeof(T));
}
}
s = copySize;