drivers: modem: receiver: guards against 0 size

Protects against 0 size in send, receive, and
registration.

Signed-off-by: Georgij Cernysiov <g.cernysiov@elco-automation.de>
This commit is contained in:
Georgij Cernysiov 2019-02-13 23:36:39 +01:00 committed by Anas Nashif
parent 27618404f6
commit 3fe917ef64

View file

@ -166,8 +166,12 @@ int mdm_receiver_recv(struct mdm_receiver_context *ctx,
return -EINVAL; return -EINVAL;
} }
*bytes_read = ring_buf_get(&ctx->rx_rb, buf, size); if (size == 0) {
*bytes_read = 0;
return 0;
}
*bytes_read = ring_buf_get(&ctx->rx_rb, buf, size);
return 0; return 0;
} }
@ -178,6 +182,10 @@ int mdm_receiver_send(struct mdm_receiver_context *ctx,
return -EINVAL; return -EINVAL;
} }
if (size == 0) {
return 0;
}
do { do {
uart_poll_out(ctx->uart_dev, *buf++); uart_poll_out(ctx->uart_dev, *buf++);
} while (size--); } while (size--);
@ -191,7 +199,7 @@ int mdm_receiver_register(struct mdm_receiver_context *ctx,
{ {
int ret; int ret;
if (!ctx) { if ((!ctx) || (size == 0)) {
return -EINVAL; return -EINVAL;
} }