Hello,
I was looking though the code in svn and found a couple items that might
warrant attention.
In src/jtag/arm-jtag-ew.c around line 428. There is a variable initialized
here:
uint8_t outp_en = 0;
and then at 428 is this:
outp_en &= ~srst_mask;
Which is the same as outp_en = 0 & ~srst_mask; Which is 0. Is this the
intended value? A similar problem is at 433.
-------------
In src/jtag/jlink.c around line 567 is
len = buf_get_u32(usb_in_buffer, 0, 16);
if (len > JLINK_IN_BUFFER_SIZE)
meaning that len could legally be == JLINK_IN_BUFFER_SIZE. After that is
result = jlink_usb_read(jlink_jtag_handle, len);
if (result != len)
Which guarantees that result would be JLINK_IN_BUFFER_SIZE if len was.
Therefore the code at line 581 would zero something 1 location beyond the
buffer.
usb_in_buffer[result] = 0;
------------
In src/target/etb.c is this code:
if (!(etm_ctx->capture_status && TRACE_TRIGGERED))
Was that supposed to be '&' rather than '&&' ?
-------------
Thanks,
-Steve
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development