From: Tsuda Kageyu Date: Wed, 5 Feb 2014 01:35:07 +0000 (+0900) Subject: Avoid using &d->data[0] when d->data is empty. X-Git-Tag: v1.10beta~186^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=167513ae57cd2625ab08ce555e4a380171cb2e3d;p=taglib Avoid using &d->data[0] when d->data is empty. --- diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp index 30f70d2c..774642a8 100644 --- a/taglib/toolkit/tstring.cpp +++ b/taglib/toolkit/tstring.cpp @@ -804,11 +804,13 @@ void String::copyFromUTF16(const wchar_t *s, size_t length, Type t) swap = (t != WCharByteOrder); d->data.resize(length); - memcpy(&d->data[0], s, length * sizeof(wchar_t)); + if(length > 0) { + memcpy(&d->data[0], s, length * sizeof(wchar_t)); - if(swap) { - for(size_t i = 0; i < length; ++i) - d->data[i] = Utils::byteSwap(static_cast(s[i])); + if(swap) { + for(size_t i = 0; i < length; ++i) + d->data[i] = Utils::byteSwap(static_cast(s[i])); + } } }