From 8bbdd364d3355ee5e39b4573910f7b300ecf6d09 Mon Sep 17 00:00:00 2001 From: Daniel Elstner Date: Wed, 26 Feb 2014 00:29:55 +0100 Subject: [PATCH] session: Always read a whole number of samples. --- session_driver.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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;