summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1656676
blob: cbc4ca6d22fc37cf2a19fa983b3e33ffeb74b73f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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.