mirror of
https://review.haiku-os.org/haiku
synced 2025-01-31 18:56:49 +01:00
libroot: Do not include terminating NULL byte in result of [wc]strxfrm.
Fixes #18347.
This commit is contained in:
parent
3e1163d6af
commit
c3c213810b
@ -139,6 +139,13 @@ ICUCollateData::Strxfrm(char* out, const char* in,
|
||||
|
||||
requiredSize = fCollator->getSortKey(unicodeIn, (uint8_t*)out, outSize);
|
||||
|
||||
// Do not include terminating NULL byte in the required-size.
|
||||
if (requiredSize > 0) {
|
||||
if (outSize >= requiredSize)
|
||||
assert(out[requiredSize - 1] == '\0');
|
||||
requiredSize--;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@ -207,6 +214,13 @@ ICUCollateData::Wcsxfrm(wchar_t* out, const wchar_t* in, size_t outSize,
|
||||
for (size_t i = 0; i < outSize; ++i)
|
||||
out[outSize - 1 - i] = buffer[outSize - 1 - i];
|
||||
|
||||
// Do not include terminating NULL character in the required-size.
|
||||
if (requiredSize > 0) {
|
||||
if (outSize >= requiredSize)
|
||||
assert(out[requiredSize - 1] == 0);
|
||||
requiredSize--;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user