Loading...
--- xnu/xnu-7195.121.3/libkern/c++/OSString.cpp
+++ xnu/xnu-8792.61.2/libkern/c++/OSString.cpp
@@ -82,7 +82,8 @@
}
newLength++;
- newString = (char *)kalloc_data_container(newLength, Z_WAITOK);
+ newString = (char *)kalloc_data(newLength,
+ Z_VM_TAG_BT(Z_WAITOK, VM_KERN_MEMORY_LIBKERN));
if (!newString) {
return false;
}
@@ -90,7 +91,7 @@
bcopy(cString, newString, newLength);
if (!(flags & kOSStringNoCopy) && string) {
- kfree_data_container(string, length);
+ kfree_data(string, length);
OSCONTAINER_ACCUMSIZE(-((size_t)length));
}
string = newString;
@@ -106,6 +107,7 @@
OSString::initWithStringOfLength(const char *cString, size_t inlength)
{
unsigned int newLength;
+ unsigned int cStringLength;
char * newString;
if (!cString || !super::init()) {
@@ -116,12 +118,15 @@
return false;
}
- if (strnlen(cString, inlength) < inlength) {
- return false;
+ cStringLength = (unsigned int)strnlen(cString, inlength);
+
+ if (cStringLength < inlength) {
+ inlength = cStringLength;
}
newLength = (unsigned int) (inlength + 1);
- newString = (char *)kalloc_data_container(newLength, Z_WAITOK);
+ newString = (char *)kalloc_data(newLength,
+ Z_VM_TAG_BT(Z_WAITOK, VM_KERN_MEMORY_LIBKERN));
if (!newString) {
return false;
}
@@ -130,7 +135,7 @@
newString[inlength] = 0;
if (!(flags & kOSStringNoCopy) && string) {
- kfree_data_container(string, length);
+ kfree_data(string, length);
OSCONTAINER_ACCUMSIZE(-((size_t)length));
}
@@ -199,7 +204,7 @@
}
OSSharedPtr<OSString>
-OSString::withStringOfLength(const char *cString, size_t length)
+OSString::withCString(const char *cString, size_t length)
{
OSSharedPtr<OSString> me = OSMakeShared<OSString>();
@@ -245,7 +250,7 @@
OSString::free()
{
if (!(flags & kOSStringNoCopy) && string) {
- kfree_data_container(string, length);
+ kfree_data(string, length);
OSCONTAINER_ACCUMSIZE(-((size_t)length));
}
@@ -325,7 +330,7 @@
return false;
}
- unsigned int dataLen = obj->getLength();;
+ unsigned int dataLen = obj->getLength();
const char * dataPtr = (const char *) obj->getBytesNoCopy();
if (dataLen != length) {