diff mbox series

9p: fix: Uninitialized variable p.

Message ID 1609310713-84972-1-git-send-email-abaci-bugfix@linux.alibaba.com
State New
Headers show
Series 9p: fix: Uninitialized variable p. | expand

Commit Message

Abaci Team Dec. 30, 2020, 6:45 a.m. UTC
The pointer p is being used but it isn't being initialized,
need to assign a NULL to it.

Signed-off-by: YANG LI <abaci-bugfix@linux.alibaba.com>
Reported-by: Abaci <abaci@linux.alibaba.com>
 net/9p/trans_virtio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Dominique Martinet Dec. 30, 2020, 7:17 a.m. UTC | #1
YANG LI wrote on Wed, Dec 30, 2020:
> The pointer p is being used but it isn't being initialized,
> need to assign a NULL to it.

My understanding is p has to be initialized: the only way out of the
while(1) loop below sets it.

I don't mind fixing false positive warnings as it makes maintenance
easier for everyone, but:

 1/ the commit message needs to reflect that and at least name which
tool had a problem with it. I'm tempted to think this case is common
enough that the tool ought to be fixed instead...

 2/ the code needs to work in the p=NULL case if you set it that way
(right now, it doesn't, so in the event the code changes in the future
and there really comes a way to skip initialization this change would
actually hinder bug detection -- it'd need to add a p == NULL check
below, which is going to be useless code, but hopefully compilers will
optimize it away)

diff mbox series


diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index 93f2f86..d4d635f 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -342,7 +342,7 @@  static int p9_get_mapped_pages(struct virtio_chan *chan,
 		/* kernel buffer, no need to pin pages */
 		int index;
 		size_t len;
-		void *p;
+		void *p = NULL;
 		/* we'd already checked that it's non-empty */
 		while (1) {