diff mbox

9pfs: fix fd leak in local_opendir()

Message ID 148856356236.7604.4296371092878661257.stgit@bahia.lan
State New
Headers show

Commit Message

Greg Kurz March 3, 2017, 5:52 p.m. UTC
Coverity issue CID1371731

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 hw/9pfs/9p-local.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Daniel P. Berrangé March 3, 2017, 5:54 p.m. UTC | #1
On Fri, Mar 03, 2017 at 06:52:42PM +0100, Greg Kurz wrote:
> Coverity issue CID1371731
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>
> ---
>  hw/9pfs/9p-local.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
> index e31309a29c58..fe930300445a 100644
> --- a/hw/9pfs/9p-local.c
> +++ b/hw/9pfs/9p-local.c
> @@ -435,6 +435,7 @@ static int local_opendir(FsContext *ctx,
>  
>      stream = fdopendir(dirfd);
>      if (!stream) {
> +        close(dirfd);
>          return -1;
>      }
>      fs->dir.stream = stream;

Reviewed-by: Daniel P. Berrange <berrange@redhat.com>

Regards,
Daniel
Philippe Mathieu-Daudé March 3, 2017, 8:01 p.m. UTC | #2
On 03/03/2017 02:54 PM, Daniel P. Berrange wrote:
> On Fri, Mar 03, 2017 at 06:52:42PM +0100, Greg Kurz wrote:
>> Coverity issue CID1371731
>>
>> Signed-off-by: Greg Kurz <groug@kaod.org>
>> ---
>>  hw/9pfs/9p-local.c |    1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
>> index e31309a29c58..fe930300445a 100644
>> --- a/hw/9pfs/9p-local.c
>> +++ b/hw/9pfs/9p-local.c
>> @@ -435,6 +435,7 @@ static int local_opendir(FsContext *ctx,
>>
>>      stream = fdopendir(dirfd);
>>      if (!stream) {
>> +        close(dirfd);
>>          return -1;
>>      }
>>      fs->dir.stream = stream;
>
> Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
>
> Regards,
> Daniel
>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
diff mbox

Patch

diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
index e31309a29c58..fe930300445a 100644
--- a/hw/9pfs/9p-local.c
+++ b/hw/9pfs/9p-local.c
@@ -435,6 +435,7 @@  static int local_opendir(FsContext *ctx,
 
     stream = fdopendir(dirfd);
     if (!stream) {
+        close(dirfd);
         return -1;
     }
     fs->dir.stream = stream;