Potentially fixes #1
- initialise the receive buffer to 0 in  Device::Read()to ensure
short reads on cameras with slightly older firmware don't use
uninitialised data to decide whether to return  a result or not
(this shouldn't be a problem with up-to-date  cameras anyway).
Only "potentially" since I can't reproduce the valgrind warning
myself - probably don't have old enough firmware.