Sd read

There is no memory manager, so the microcontroller doesn't know when it runs out of RAM.

In the case of the read method (SD - Arduino Reference) you must provide it both the buffer to store the data in and the amount of data to read.

Syntax
file.read() file.read(buf, len)

Parameters
file: an instance of the File class (returned by SD.open())
buf: an array of characters or bytes
len: the number of elements in buf