From a833d838b94247ecfe94eeef68ae26ce7e12fbb1 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser Date: Sun, 21 Feb 2016 23:52:29 +0100 Subject: [PATCH] drivers: ethos: don't error if recv buffer is larger than needed --- drivers/ethos/ethos.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/ethos/ethos.c b/drivers/ethos/ethos.c index 835cfaa448..f625ed5126 100644 --- a/drivers/ethos/ethos.c +++ b/drivers/ethos/ethos.c @@ -297,11 +297,12 @@ static int _recv(netdev2_t *netdev, char* buf, int len, void* info) ethos_t * dev = (ethos_t *) netdev; if (buf) { - if (len != dev->last_framesize) { - DEBUG("ethos _recv(): unmatched receive buffer size."); + if (len < dev->last_framesize) { + DEBUG("ethos _recv(): receive buffer too small."); return -1; } + len = dev->last_framesize; dev->last_framesize = 0; if ((tsrb_get(&dev->inbuf, buf, len) != len)) {