diff options
Diffstat (limited to 'results/classifier/105/instruction/1656676')
| -rw-r--r-- | results/classifier/105/instruction/1656676 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/results/classifier/105/instruction/1656676 b/results/classifier/105/instruction/1656676 new file mode 100644 index 00000000..e2fb6366 --- /dev/null +++ b/results/classifier/105/instruction/1656676 @@ -0,0 +1,38 @@ +instruction: 0.812 +graphic: 0.804 +vnc: 0.758 +device: 0.691 +semantic: 0.676 +other: 0.565 +mistranslation: 0.518 +network: 0.466 +assembly: 0.356 +socket: 0.312 +boot: 0.159 +KVM: 0.136 + +nvram/fw_cfg.c ‘read’ may be used uninitialized + +Commit Number: b6af8ea60282df514f87d32e36afd1c9aeee28c8 + +The gcc version version 6.3.1 catches a new uninitialized variable in the master branch of QEMU on the Github. After looking through the function, it is really not properly assigned to a value in a certain path (the else condition of assigning read value in the code). +Here is the snippet of the condition assigning value: + if (dma.control & FW_CFG_DMA_CTL_READ) { + read = 1; + } else if (dma.control & FW_CFG_DMA_CTL_SKIP) { + read = 0; + } else { + dma.length = 0; + } + +Error (Warning) message is as following: +hw/nvram/fw_cfg.c: In function ‘fw_cfg_dma_transfer’: +hw/nvram/fw_cfg.c:372:16: error: ‘read’ may be used uninitialized in this function [-Werror=maybe-uninitialized] + +Solution: +You can fix this by either assign a proper initial value when defining it, or give a proper value in the else condition. +Sorry that I don't have a patch for this. I'm not sure whether to assign 1 or 0 in the else condition. + +This has been fixed here already: +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=baf2d5bfbac#patch6 + |