if (!cString || !super::init()) return false;
- newLength = strlen(cString) + 1;
+ newLength = strnlen(cString, kMaxStringLength);
+ if (newLength >= kMaxStringLength) return false;
+
+ newLength++;
newString = (char *) kalloc_container(newLength);
if (!newString) return false;
if (!cString || !super::init()) return false;
+ if (inlength >= kMaxStringLength) return false;
+
newLength = inlength + 1;
newString = (char *) kalloc_container(newLength);
if (!newString) return false;
if (!cString || !super::init())
return false;
- length = strlen(cString) + 1;
+ length = strnlen(cString, kMaxStringLength);
+ if (length >= kMaxStringLength) return false;
+
+ length++;
flags |= kOSStringNoCopy;
string = const_cast<char *>(cString);