blob: 2e137e9b39b5722f5124f8312272db40e5d8e921 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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.
|