On Thursday 10 November 2005 11:06, Xen patchbot -unstable
wrote:> # HG changeset patch
> # User kaf24@firebug.cl.cam.ac.uk
> # 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@intel.com>
> Signed-off-by: Xin Li <xin.b.li@intel.com>
>
> 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@seana.research.intel-research.net, 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@lists.xensource.com
http://lists.xensource.com/xen-devel