[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2] blktap2: Fix two 'maybe uninitialized' variables
for which gcc 4.9.0 complains about, like this: block-qcow.c: In function Ãget_cluster_offsetÃ: block-qcow.c:431:3: error: Ãtmp_ptrà may be used uninitialized in this function [-Werror=maybe-uninitialized] memcpy(tmp_ptr, l1_ptr, 4096); ^ block-qcow.c:606:7: error: Ãtmp_ptr2à may be used uninitialized in this function [-Werror=maybe-uninitialized] if (write(s->fd, tmp_ptr2, 4096) != 4096) { ^ cc1: all warnings being treated as errors /home/dario/Sources/xen/xen/xen.git/tools/blktap2/drivers/../../../tools/Rules.mk:89: recipe for target 'block-qcow.o' failed make[5]: *** [block-qcow.o] Error 1 The proper behavior is to return upon allocation failure. About what to return, 0 seems the best option, looking at both the function and the call sites. Signed-off-by: Dario Faggioli <dario.faggioli@xxxxxxxxxx> --- Changes from v1: * instead of just inizialize the variables to suppress the warning, fix the issue by returning when the allocation fails. I am resubmitting this as a proper patch, as Ian Campbell suggested, as days have passed, and no one showed up suggesting that something could be wrong with the patch. I still am no expert in blktap, but I looked once more at the code, and this patch seems ok to me. --- tools/blktap2/drivers/block-qcow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/blktap2/drivers/block-qcow.c b/tools/blktap2/drivers/block-qcow.c index d5053d4..b45bcaa 100644 --- a/tools/blktap2/drivers/block-qcow.c +++ b/tools/blktap2/drivers/block-qcow.c @@ -427,6 +427,7 @@ static uint64_t get_cluster_offset(struct tdqcow_state *s, if (posix_memalign((void **)&tmp_ptr, 4096, 4096) != 0) { DPRINTF("ERROR allocating memory for L1 table\n"); + return 0; } memcpy(tmp_ptr, l1_ptr, 4096); @@ -600,6 +601,7 @@ found: if (posix_memalign((void **)&tmp_ptr2, 4096, 4096) != 0) { DPRINTF("ERROR allocating memory for L1 table\n"); + return 0; } memcpy(tmp_ptr2, l2_ptr, 4096); lseek(s->fd, l2_offset + (l2_sector << 12), SEEK_SET); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |