Here are two patches to avoid semblance of a leak. One adds a useless use of VIR_FREE. The other adds an assertion that the pointer to would-be-leaked storage is NULL. There's already an assertion in this file, so no need to add an "#include ...". Take your pick. >From 2070262e7f1a4803e06a6f75bd96091c5754164d Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@xxxxxxxxxx> Date: Tue, 16 Feb 2010 14:34:48 +0100 Subject: [PATCH] vshCommandParse: placate coverity There is no real leak here, but Coverity-Prevent thinks there is. It does not see that while there are four ways to return from vshCommandGetToken with VSH_TK_END, none of them results in allocation of a result. * tools/virsh.c (vshCommandParse): Add a (currently) useless VIR_FREE, to ensure that we never leak when vshCommandGetToken returns VSH_TK_END. --- tools/virsh.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 7db48d9..4ffa154 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -8222,8 +8222,10 @@ vshCommandParse(vshControl *ctl, char *cmdstr) str = end; - if (tk == VSH_TK_END) + if (tk == VSH_TK_END) { + VIR_FREE(tkdata); break; + } if (tk == VSH_TK_ERROR) goto syntaxError; -- 1.7.0.181.g41533 >From 98b0c148d7fd7e11eed7786189db60b485612b51 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@xxxxxxxxxx> Date: Tue, 16 Feb 2010 14:34:48 +0100 Subject: [PATCH] vshCommandParse: placate coverity * tools/virsh.c (vshCommandParse): Inform static analyzers that there is no risk of leak when vshCommandGetToken returns VSH_TK_END. --- tools/virsh.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 7db48d9..5c45d1c 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -8222,8 +8222,10 @@ vshCommandParse(vshControl *ctl, char *cmdstr) str = end; - if (tk == VSH_TK_END) + if (tk == VSH_TK_END) { + assert (tkdata == NULL); break; + } if (tk == VSH_TK_ERROR) goto syntaxError; -- 1.7.0.181.g41533 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list