diff --git a/components/drivers/serial/serial.c b/components/drivers/serial/serial.c index 52e37f8cfed4a30552ab8018b89aab8ec7fb6ad6..5e7a8ec814d90a1689ca9866be357b027fc156b6 100644 --- a/components/drivers/serial/serial.c +++ b/components/drivers/serial/serial.c @@ -222,6 +222,10 @@ static rt_size_t rt_serial_read(struct rt_device *dev, struct rt_serial_device *serial; RT_ASSERT(dev != RT_NULL); + + if (size == 0) + return 0; + serial = (struct rt_serial_device *)dev; ptr = (rt_uint8_t *)buffer; @@ -272,6 +276,10 @@ static rt_size_t rt_serial_write(struct rt_device *dev, struct rt_serial_device *serial; RT_ASSERT(dev != RT_NULL); + + if (size == 0) + return 0; + serial = (struct rt_serial_device *)dev; ptr = (rt_uint8_t*)buffer;