public String readString(BinaryReader reader, long stringOffset) {
		if (fileOffset < 0) {
			return null;
		}
		try {
			if (stringOffset >= length) {
				throw new IOException("String read beyond table bounds");
			}
			return reader.readUtf8String(fileOffset + stringOffset).trim();
		}
		catch (IOException e) {
			header.logError(
				"Failed to read Elf String at offset 0x" + Long.toHexString(stringOffset) +
					" within String Table at offset 0x" + Long.toHexString(fileOffset));
		}
		return null;
	}
Read string from table at specified relative table offset
@param reader byte reader (position remains unchanged)
@param stringOffset table relative string offset
@return string or null on error
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/ElfStringTable.java