qemu/hw/scsi/scsi-disk.c:2741: possible missing break ?

Bug #1589564 reported by dcb
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

qemu/hw/scsi/scsi-disk.c:2741] -> [qemu/hw/scsi/scsi-disk.c:2745]: (warning) Variable 'cdb1' is reassigned a value before the old one has been used. 'break;' missing?
qemu/hw/scsi/scsi-disk.c:2742] -> [qemu/hw/scsi/scsi-disk.c:2746]: (warning) Variable 'group_number' is reassigned a value before the old one has been used. 'break;' missing?

Source code is

    case 1:
        /* 10-byte CDB. */
        r->cdb1 = req->cmd.buf[1];
        r->group_number = req->cmd.buf[6];
    case 4:
        /* 12-byte CDB. */

Also,

[qemu/hw/scsi/scsi-disk.c:2063]: (warning) %lu in format string (no. 1) requires 'unsigned long' but the argument type is 'signed long'.
[qemu/hw/scsi/scsi-disk.c:2066]: (warning) %lu in format string (no. 1) requires 'unsigned long' but the argument type is 'signed long'.
[qemu/hw/scsi/scsi-disk.c:2069]: (warning) %lu in format string (no. 1) requires 'unsigned long' but the argument type is 'signed long'.
[qemu/hw/scsi/scsi-disk.c:2083]: (warning) %lu in format string (no. 2) requires 'unsigned long' but the argument type is 'signed long'.

Revision history for this message
Thomas Huth (th-huth) wrote :

The issue with the missing break has been fixed here:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=ed45cae39117d41315541

Revision history for this message
Thomas Huth (th-huth) wrote :

I am currently not able to reproduce the problem with the format strings ... how did you get them? Which compiler (and version) did you use?

Revision history for this message
dcb (dcb314) wrote :

>I am currently not able to reproduce the problem with the format strings ...
>how did you get them? Which compiler (and version) did you use?

I used a static analyser for C & C++ called cppcheck. It is available
from sourceforge. I find it very useful.

I think gcc might be able to reproduce these problems with one of the
higher warning levels. -Wformat=2 springs to mind, but a check of the gcc
documentation around -Wformat will give more accurate guidance.

Revision history for this message
Thomas Huth (th-huth) wrote :

The issue with the format strings should now be fixed, too:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=142c21455bb2416b37f71b

Changed in qemu:
status: New → Fix Committed
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.