* grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-10-20 17:57:28 +02:00
parent 28153eb87a
commit 7152393503
2 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,7 @@
2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2013-10-20 Vladimir Serbinenko <phcoder@gmail.com> 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/net/arp.c: Remove variable length arrays. * grub-core/net/arp.c: Remove variable length arrays.

View file

@ -989,8 +989,11 @@ check_pool_label (struct grub_zfs_data *data,
== ZEC_MAGIC) == ZEC_MAGIC)
endian = GRUB_ZFS_BIG_ENDIAN; endian = GRUB_ZFS_BIG_ENDIAN;
else 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. */ /* Now check the integrity of the vdev_phys_t structure though checksum. */
ZIO_SET_CHECKSUM(&emptycksum, diskdesc->vdev_phys_sector << 9, 0, 0, 0); ZIO_SET_CHECKSUM(&emptycksum, diskdesc->vdev_phys_sector << 9, 0, 0, 0);
err = zio_checksum_verify (emptycksum, ZIO_CHECKSUM_LABEL, endian, err = zio_checksum_verify (emptycksum, ZIO_CHECKSUM_LABEL, endian,