    def read_fixed_bytes(self, num_bytes: int) -> bytes:
        """Reads a fixed number of bytes from the underlying bytestream.

        Args:
            num_bytes
                The number of bytes to read.

        Returns:
            The read bytes.

        Raises:
            EOFError: Fewer than ``num_bytes`` bytes remained in the
                underlying bytestream.
        """
        read_bytes = self.read(num_bytes)
        if len(read_bytes) < num_bytes:
            raise EOFError(read_bytes)
        return read_bytes
The software generates an error message that includes sensitive information about its environment, users, or associated data.