X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=session_driver.c;h=69a53c6867102903fb22bee900b3eec652b348c9;hb=8bbdd364d3355ee5e39b4573910f7b300ecf6d09;hp=d7e639f3d00234eec4fbb8dba9852c207c6a1ad5;hpb=a66307424e7a14df8f53e04d5ff77436dbaa830f;p=libsigrok.git diff --git a/session_driver.c b/session_driver.c index d7e639f3..69a53c68 100644 --- a/session_driver.c +++ b/session_driver.c @@ -127,8 +127,12 @@ static int receive_data(int fd, int revents, void *cb_data) return FALSE; } - ret = zip_fread(vdev->capfile, buf, CHUNKSIZE); + ret = zip_fread(vdev->capfile, buf, + CHUNKSIZE / vdev->unitsize * vdev->unitsize); if (ret > 0) { + if (ret % vdev->unitsize != 0) + sr_warn("Read size %d not a multiple of the" + " unit size %d.", ret, vdev->unitsize); got_data = TRUE; packet.type = SR_DF_LOGIC; packet.payload = &logic;