Hey,

On 02/08/2018 10:15 AM, Philippe Mathieu-Daudé wrote:
Hi Daniel,

On 02/08/2018 07:57 AM, Daniel Henrique Barboza wrote:
This patch adds a break in the switch() statement of complete(),
value 0x42:

     case 0x42:              /* FT2 sets output freq with this, go figure */
         qemu_log_mask(LOG_UNIMP, "cmd 0x42 might not do what it think it"
                       " should\n");
         break; <-------
     case 0x41:
It seems this is an intentional fallthrough, I understand cmd 0x42 is
expected to do the same of 0x41 and _a bit more_ (see commit 85571bc7415).

Perhaps it should be more explicit then? Something like

        case 0x40:
            s->time_const = dsp_get_data (s);
            ldebug ("set time const %d\n", s->time_const);
            break;

        case 0x41:
        case 0x42:
             if (s->cmd == 0x42) {
                  /* FT2 sets output freq with this, go figure */
                qemu_log_mask(LOG_UNIMP, "cmd 0x42 might not do what it think it"
                                         " should\n");
            }
            s->freq = dsp_get_hilo (s);
            ldebug ("set freq %d\n", s->freq);
            break;

        case 0x48:




The issue was found by Coverity (#1385841):

     CID 1385841:  Control flow issues  (MISSING_BREAK)
     The case for value "66" is not terminated by a 'break' statement.

Fixes: 8ec660b80e ("hw/audio/sb16.c: change dolog() to qemu_log_mask()")
Signed-off-by: Daniel Henrique Barboza <danie...@linux.vnet.ibm.com>
CC: John Arbuckle <programmingk...@gmail.com>
CC: Gerd Hoffmann <kra...@redhat.com>
---
  hw/audio/sb16.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c
index 31de264ab7..b2fdcd8437 100644
--- a/hw/audio/sb16.c
+++ b/hw/audio/sb16.c
@@ -744,6 +744,7 @@ static void complete (SB16State *s)
          case 0x42:              /* FT2 sets output freq with this, go figure 
*/
              qemu_log_mask(LOG_UNIMP, "cmd 0x42 might not do what it think it"
                            " should\n");
+            break;
          case 0x41:
              s->freq = dsp_get_hilo (s);
              ldebug ("set freq %d\n", s->freq);


Reply via email to