On 10 January 2012 09:35, Stefan Hajnoczi <stefa...@gmail.com> wrote: > On Mon, Jan 09, 2012 at 06:29:51PM +0100, Stefan Weil wrote: >> These comments are used by static code analysis tools and in code reviews >> to avoid false warnings because of missing break statements. >> >> The case statements handled here were reported by coverity. >> >> Signed-off-by: Stefan Weil <s...@weilnetz.de> >> --- >> hw/pcnet.c | 1 + >> json-lexer.c | 1 + >> qemu-option.c | 4 ++++ >> 3 files changed, 6 insertions(+), 0 deletions(-) > > This reminds me of another questionable fall-through: > > bt-host.c:bt_host_read(): > > while (s->len --) > switch (*pkt ++) { > ... > case HCI_SCODATA_PKT: > if (s->len < 3) > goto bad_pkt; > > pktlen = MIN(pkt[2] + 3, s->len); > s->len -= pktlen; > pkt += pktlen; > <--- fall-through or not? > default: > bad_pkt: > fprintf(stderr, "qemu: bad HCI packet type %02x\n", pkt[-1]); > } > > It seems the code will skip HCI_SCODATA_PKT and report a warning (although > type > pkt[-1] will be incorrect). Any thoughts?
Yes, definitely there's a break missing. Bluetooth SCO links are like USB Isochronous, so not really tested because they're only used by streaming devices. Cheers