diff -r 9632ececc8f4 tools/libxc/xc_linux_build.c --- a/tools/libxc/xc_linux_build.c Wed Aug 02 10:13:30 2006 +0100 +++ b/tools/libxc/xc_linux_build.c Fri Aug 04 17:10:30 2006 -0400 @@ -1373,10 +1373,10 @@ int xc_linux_build(int xc_handle, error_out: free(image); - if ( fd >= 0 ) + if ( initrd_info.type == INITRD_file && initrd_info.u.file_handle ) + gzclose(initrd_info.u.file_handle); + else if ( fd >= 0 ) close(fd); - if ( initrd_info.u.file_handle ) - gzclose(initrd_info.u.file_handle); return sts; }