[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] free(NULL);



On Thursday 10 November 2005 11:06, Xen patchbot -unstable wrote:
> # HG changeset patch
> # User kaf24@xxxxxxxxxxxxxxxxxxxx
> # Node ID e436e4e93076c8f4c434b9531b70179b90347b48
> # Parent  bdb8c00ddb852fc6eab2175b7e3738d015ec2738
> Add some minor defensive coding/error handling in xc_vmx_build.c like
> C/S 7687
>
> Signed-off-by: Haifeng Xue <haifeng.xue@xxxxxxxxx>
> Signed-off-by: Xin Li <xin.b.li@xxxxxxxxx>
>
> diff -r bdb8c00ddb85 -r e436e4e93076 tools/libxc/xc_vmx_build.c
> --- a/tools/libxc/xc_vmx_build.c      Thu Nov 10 11:05:22 2005
> +++ b/tools/libxc/xc_vmx_build.c      Thu Nov 10 11:06:50 2005
> @@ -565,8 +565,10 @@
>      return 0;
>
>   error_out:
> -    free(mmu);
> -    free(page_array);
> +    if ( mmu != NULL )
> +        free(mmu);
> +    if ( page_array != NULL )
> +        free(page_array);
>      return -1;
>  }
>
> @@ -627,7 +629,7 @@
>
>      if ( mlock(&st_ctxt, sizeof(st_ctxt) ) )
>      {
> -        PERROR("xc_vmx_build: ctxt mlock failed");
> +        PERROR("%s: ctxt mlock failed", __func__);
>          return 1;
>      }
>
> @@ -661,7 +663,8 @@
>          goto error_out;
>      }
>
> -    free(image);
> +    if ( image != NULL )
> +        free(image);
>
>      ctxt->flags = VGCF_VMX_GUEST;
>      /* FPU is set up to default initial state. */
> @@ -707,7 +710,8 @@
>      return rc;
>
>   error_out:
> -    free(image);
> +    if ( image != NULL )
> +        free(image);
>
>      return -1;
>  }

free(3) explicitly handles NULL pointers (see the man page), so most of this 
patch should be reverted. (If I could find an email address for 
mafetter@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, who checked in changeset 
7687:913ad6d48cbc, I'd CC them as well.)

For that matter, so does xfree(), and it looks like the ACM code in particular 
has the same problem.

I don't want to submit a patch I haven't tested, so this should be an easy 
cleanup for somebody...

-- 
Hollis Blanchard
IBM Linux Technology Center

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.