[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo |
Date: |
Thu, 7 Jul 2016 14:48:53 +0100 |
From: Paolo Bonzini <address@hidden>
xlnx_dp_aux_push_tx_fifo takes an immediate uint8_t and a buffer length,
which must be 1 because that is how many uint8_t's fit in a uint8_t.
Sure enough, that is what xlnx_dp_write passes to it, but the function
is just weird. Therefore, make xlnx_dp_aux_push_tx_fifo look like
xlnx_dp_aux_push_rx_fifo, taking a pointer to the buffer.
Reported by Coverity.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
---
hw/display/xlnx_dp.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c
index be53b75..f43eb09 100644
--- a/hw/display/xlnx_dp.c
+++ b/hw/display/xlnx_dp.c
@@ -438,10 +438,10 @@ static void xlnx_dp_aux_clear_tx_fifo(XlnxDPState *s)
fifo8_reset(&s->tx_fifo);
}
-static void xlnx_dp_aux_push_tx_fifo(XlnxDPState *s, uint8_t val, size_t len)
+static void xlnx_dp_aux_push_tx_fifo(XlnxDPState *s, uint8_t *buf, size_t len)
{
DPRINTF("Push %u data in tx_fifo\n", (unsigned)len);
- fifo8_push_all(&s->tx_fifo, &val, len);
+ fifo8_push_all(&s->tx_fifo, buf, len);
}
static uint8_t xlnx_dp_aux_pop_tx_fifo(XlnxDPState *s)
@@ -806,9 +806,11 @@ static void xlnx_dp_write(void *opaque, hwaddr offset,
uint64_t value,
* TODO: Power down things?
*/
break;
- case DP_AUX_WRITE_FIFO:
- xlnx_dp_aux_push_tx_fifo(s, value, 1);
+ case DP_AUX_WRITE_FIFO: {
+ uint8_t c = value;
+ xlnx_dp_aux_push_tx_fifo(s, &c, 1);
break;
+ }
case DP_AUX_CLOCK_DIVIDER:
break;
case DP_AUX_REPLY_COUNT:
--
1.9.1
- [Qemu-devel] [PULL 0/6] target-arm queue, Peter Maydell, 2016/07/07
- [Qemu-devel] [PULL 3/6] aux: fix break that wanted to break two levels out, Peter Maydell, 2016/07/07
- [Qemu-devel] [PULL 5/6] hw/block/m25p80: fix resource leak, Peter Maydell, 2016/07/07
- [Qemu-devel] [PULL 1/6] target-arm/arm-semi.c: In SYS_HEAPINFO use correct type for 'limit', Peter Maydell, 2016/07/07
- [Qemu-devel] [PULL 2/6] xlnx_dp: fix iffy xlnx_dp_aux_push_tx_fifo,
Peter Maydell <=
- [Qemu-devel] [PULL 6/6] i.MX: split the GPT timer implementation into per SOC definitions, Peter Maydell, 2016/07/07
- [Qemu-devel] [PULL 4/6] aux: Rename aux.[ch] to auxbus.[ch] for the benefit of Windows, Peter Maydell, 2016/07/07
- Re: [Qemu-devel] [PULL 0/6] target-arm queue, Peter Maydell, 2016/07/11