From: Vladimir 'phcoder' Serbinenko Date: Sun, 20 Oct 2013 15:57:28 +0000 (+0200) Subject: * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak. X-Git-Tag: grub-2.02-beta1~615 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71523935036cbc9e82feda750b9025fcd03a7393;p=thirdparty%2Fgrub.git * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak. --- diff --git a/ChangeLog b/ChangeLog index e7d4ce4cb..f1e3ab9a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-10-20 Vladimir Serbinenko + + * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak. + 2013-10-20 Vladimir Serbinenko * grub-core/net/arp.c: Remove variable length arrays. diff --git a/grub-core/fs/zfs/zfs.c b/grub-core/fs/zfs/zfs.c index dea231fbd..23603affe 100644 --- a/grub-core/fs/zfs/zfs.c +++ b/grub-core/fs/zfs/zfs.c @@ -989,8 +989,11 @@ check_pool_label (struct grub_zfs_data *data, == ZEC_MAGIC) endian = GRUB_ZFS_BIG_ENDIAN; else - return grub_error (GRUB_ERR_BAD_FS, - "bad vdev_phys_t.vp_zbt.zec_magic number"); + { + grub_free (nvlist); + return grub_error (GRUB_ERR_BAD_FS, + "bad vdev_phys_t.vp_zbt.zec_magic number"); + } /* Now check the integrity of the vdev_phys_t structure though checksum. */ ZIO_SET_CHECKSUM(&emptycksum, diskdesc->vdev_phys_sector << 9, 0, 0, 0); err = zio_checksum_verify (emptycksum, ZIO_CHECKSUM_LABEL, endian,