Added infinite loop to read_block_pointer() if level is greater than 3