From: Spencer Oliver Date: Wed, 23 May 2012 11:31:16 +0000 (+0100) Subject: target: fix segfault in arm7_9 8/16bit read X-Git-Tag: v0.6.0-rc1~61 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=c3074f377c1da33ca8ba8493826e1b52351eebc6 target: fix segfault in arm7_9 8/16bit read Seems I5347352e7595686634bd0de13fcf6de6e55027b0 introduced an issue when reading 8/16 bit data - the in buffer was always set to 32bits. Change-Id: Ife2bb6a20fcb3ec0e486655512164f25ae9196b4 Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/660 Tested-by: jenkins Reviewed-by: Mathias Küster --- diff --git a/src/target/arm7tdmi.c b/src/target/arm7tdmi.c index 377c302230..2721502f39 100644 --- a/src/target/arm7tdmi.c +++ b/src/target/arm7tdmi.c @@ -223,7 +223,7 @@ static int arm7tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info, fields[0].out_value = NULL; fields[0].in_value = NULL; - fields[1].num_bits = 32; + fields[1].num_bits = size * 8; fields[1].out_value = NULL; fields[1].in_value = in; diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c index 380dca5608..e8ad93289c 100644 --- a/src/target/arm9tdmi.c +++ b/src/target/arm9tdmi.c @@ -272,7 +272,7 @@ int arm9tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info, if (retval != ERROR_OK) return retval; - fields[0].num_bits = 32; + fields[0].num_bits = size * 8; fields[0].out_value = NULL; fields[0].in_value = in;