X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Fappliance.c;h=836e6792256e1275e5a0c7f1eaf7f855814ae560;hb=2faef37957629e0436308e759211209e5e823ee0;hp=9f86954064aafcbe52c82ea61f80af311b79e83c;hpb=631faad97171d7c1238b2e413c663cf61476f440;p=libguestfs.git diff --git a/src/appliance.c b/src/appliance.c index 9f86954..836e679 100644 --- a/src/appliance.c +++ b/src/appliance.c @@ -402,6 +402,12 @@ check_for_cached_appliance (guestfs_h *g, /* Releases the lock on checksum. */ if (close (fd) == -1) { perrorf (g, "close"); + /* Allocated in hard_link_to_cached_appliance above, must be + * freed along this error path. + */ + free (*kernel); + free (*initrd); + free (*appliance); return -1; } @@ -540,6 +546,12 @@ build_supermin_appliance (guestfs_h *g, /* Releases the lock on checksum. */ if (close (fd) == -1) { perrorf (g, "close"); + /* Allocated in hard_link_to_cached_appliance above, must be + * freed along this error path. + */ + free (*kernel); + free (*initrd); + free (*appliance); return -1; }