Loading...
--- xnu/xnu-7195.141.2/libkern/c++/OSString.cpp
+++ xnu/xnu-8019.80.24/libkern/c++/OSString.cpp
@@ -106,6 +106,7 @@
OSString::initWithStringOfLength(const char *cString, size_t inlength)
{
unsigned int newLength;
+ unsigned int cStringLength;
char * newString;
if (!cString || !super::init()) {
@@ -116,8 +117,10 @@
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);
@@ -199,7 +202,7 @@
}
OSSharedPtr<OSString>
-OSString::withStringOfLength(const char *cString, size_t length)
+OSString::withCString(const char *cString, size_t length)
{
OSSharedPtr<OSString> me = OSMakeShared<OSString>();
@@ -325,7 +328,7 @@
return false;
}
- unsigned int dataLen = obj->getLength();;
+ unsigned int dataLen = obj->getLength();
const char * dataPtr = (const char *) obj->getBytesNoCopy();
if (dataLen != length) {