String findNullTerminatedString(Address address, Pointer pointer) {

		if (!address.getAddressSpace().isConstantSpace()) {
			return null;
		}

		// Old address associated with constant space which doesn't work
		Address ramSpaceAddress = convertAddressToRamSpace(address);

		MemoryBufferImpl memoryBuffer =
			new MemoryBufferImpl(this.program.getMemory(), ramSpaceAddress);

		DataType charType = pointer.getDataType();
		//StringDataInstace.getStringDataInstance checks that charType is appropriate
		//and returns StringDataInstace.NULL_INSTANCE if not
		StringDataInstance stringDataInstance = StringDataInstance.getStringDataInstance(charType,
			memoryBuffer, charType.getDefaultSettings(), NULL_TERMINATOR_PROBE);
		int detectedLength = stringDataInstance.getStringLength();
		if (detectedLength == -1) {
			return null;
		}
		stringDataInstance = new StringDataInstance(charType, charType.getDefaultSettings(),
			memoryBuffer, detectedLength, true);
		return stringDataInstance.getStringValue();
	}
Looks at bytes at given address and converts to format String

@param address Address of format String
@param pointer Pointer "type" of string
@return format String
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/plugin/core/string/variadic/PcodeFunctionParser.java