Assert size only if Q_BUF_LEN is smaller UINT16_MAX
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Thu, 13 Oct 2011 22:03:06 +0000 (00:03 +0200)
committerKarl Palsson <karlp@tweak.net.au>
Sun, 16 Oct 2011 20:25:27 +0000 (20:25 +0000)
Signed-off-by: Karl Palsson <karlp@tweak.net.au>
src/stlink-usb.c

index 5099bfd4f2cd03cdb6a3ef266cd25f3e4cb047a1..b417d41aa1ea7269a92d94b2dc20e74ab1e465e0 100644 (file)
@@ -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;