rem: if (user_strlcpy(type, _type, B_OS_NAME_LENGTH) >= B_OS_NAME_LENGTH) return B_NAME_TOO_LONG;
add: status_t error = ddm_strlcpy(type, _type, B_OS_NAME_LENGTH); if (error) return error;
context: _kern_validate_create_child_partition(partition_id partitionID,									  int32 changeCounter, off_t *_offset,									  off_t *_size, const char *_type,									  const char *_parameters){	if (!_offset || !_size || !_type)		return B_BAD_VALUE;	off_t offset;	off_t size;	char type[B_OS_NAME_LENGTH];	char *parameters = NULL;	user_memcpy(&offset, _offset, sizeof(offset));	user_memcpy(&size, _size, sizeof(size));	if (user_strlcpy(type, _type, B_OS_NAME_LENGTH) >= B_OS_NAME_LENGTH)		return B_NAME_TOO_LONG;		if (_parameters) {		parameters = static_cast<char*>(malloc(strlen(_parameters)+1));		if (parameters)			user_strcpy(parameters, _parameters);		else			return B_NO_MEMORY;	}		KDiskDeviceManager *manager = KDiskDeviceManager::Default();	// get the partition	KPartition *partition = manager->ReadLockPartition(partitionID);	status_t error = partition ? B_OK : B_ENTRY_NOT_FOUND;	if (!error) {		PartitionRegistrar registrar1(partition, true);		PartitionRegistrar registrar2(partition->Device(), true);		DeviceReadLocker locker(partition->Device(), true);		error = validate_create_child_partition(partition, changeCounter, &offset,											    &size, type, parameters);	}	if (!error) {		user_memcpy(_offset, &offset, sizeof(offset));		user_memcpy(_size, &size, sizeof(size));	}	free(parameters);	return error;}