...because in the read loop, the resized read buffer isn't copied back into the local read buffer variable, causing an infinite loop of attempted resizing.