From 06a737c4cc2aa1238fcb44f422e139e1c147c41f Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Fri, 14 Oct 2011 00:03:06 +0200 Subject: [PATCH] Assert size only if Q_BUF_LEN is smaller UINT16_MAX Signed-off-by: Karl Palsson --- src/stlink-usb.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/stlink-usb.c b/src/stlink-usb.c index 5099bfd..b417d41 100644 --- a/src/stlink-usb.c +++ b/src/stlink-usb.c @@ -182,6 +182,9 @@ void _stlink_usb_write_mem32(stlink_t *sl, uint32_t addr, uint16_t len) { write_uint16(cmd_buf + 6, len); send_only(slu, cmd_buf, STLINK_CMD_SIZE); +#if Q_BUF_LEN < UINT16_MAX + assert(len < sizeof(sl->q_buf)); // makes a compiler warning? always true? +#endif assert((len & 3) == 0); stlink_print_data(sl); send_only(slu, buf, len); @@ -200,6 +203,9 @@ void _stlink_usb_write_mem8(stlink_t *sl, uint32_t addr, uint16_t len) { write_uint16(cmd_buf + 6, len); send_only(slu, cmd_buf, STLINK_CMD_SIZE); +#if Q_BUF_LEN < UINT16_MAX + assert(len < sizeof(sl->q_buf)); // makes a compiler warning? always true? +#endif stlink_print_data(sl); send_only(slu, buf, len); } @@ -392,8 +398,9 @@ void _stlink_usb_read_mem32(stlink_t *sl, uint32_t addr, uint16_t len) { unsigned char* const buf = sl->q_buf; ssize_t size; - /* assume len < sizeof(sl->q_buf) */ - assert(len < sizeof(sl->q_buf)); // makes a compiler warning? always true? +#if Q_BUF_LEN < UINT16_MAX + assert(len < sizeof(sl->q_buf)); +#endif memset(buf, 0, sizeof (sl->q_buf)); buf[0] = STLINK_DEBUG_COMMAND; -- 2.47.2