diff -r 2f98977d9f85 tools/libxc/xc_ia64_stubs.c --- a/tools/libxc/xc_ia64_stubs.c Thu Nov 10 21:24:29 2005 +++ b/tools/libxc/xc_ia64_stubs.c Thu Dec 8 08:28:24 2005 @@ -168,18 +168,26 @@ int xc_ia64_build_hob(int xc_handle, uint32_t dom, unsigned long memsize){ - char hob_buf[GFW_HOB_SIZE]; + char *hob_buf; + + hob_buf = malloc (GFW_HOB_SIZE); + if (hob_buf == NULL) { + PERROR("Could not allocate hob"); + return -1; + } if ( build_hob( hob_buf, GFW_HOB_SIZE, memsize<<20) < 0){ + free (hob_buf); PERROR("Could not build hob"); return -1; } if ( load_hob( xc_handle, dom, hob_buf) <0){ + free (hob_buf); PERROR("Could not load hob"); return -1; } - + free (hob_buf); return 0; }