No description
Find a file
Andrei Borzenkov ebb3d958aa fix memory corruption in pubkey filter over network
grub_pubkey_open closed original file after it was read; it set
io->device to NULL to prevent grub_file_close from trying to close device.
But network device itself is stacked (net -> bufio); and bufio preserved
original netfs file which hold reference to device. grub_file_close(io)
called grub_bufio_close which called grub_file_close for original file.
grub_file_close(netfs-file) now also called grub_device_close which
freed file->device->net. So file structure returned by grub_pubkey_open
now had device->net pointed to freed memory. When later file was closed,
it was attempted to be freed again.

Change grub_pubkey_open to behave like other filters - preserve original
parent file and pass grub_file_close down to parent. In this way only the
original file will close device. We really need to move this logic into
core instead.

Also plug memory leaks in error paths on the way.

Reported-By: Robert Kliewer <robert.kliewer@gmail.com>
Closes: bug #43601
2014-12-05 21:17:08 +03:00
build-aux * build-aux/snippet: Add missing gnulib files. 2013-04-17 07:00:37 +02:00
conf add file filters tests 2014-12-05 21:04:06 +03:00
docs * docs/grub-dev.texi (Finding your way around): The build system no 2014-06-26 14:20:17 +01:00
grub-core fix memory corruption in pubkey filter over network 2014-12-05 21:17:08 +03:00
include send router solicitation for ipv6 address autoconf v2 2014-11-28 20:21:34 +03:00
m4 Import new gnulib. 2013-04-11 21:12:46 +02:00
po Update some documentation to refer to Git rather than Bazaar. 2013-12-23 14:43:41 +00:00
tests add file filters tests 2014-12-05 21:04:06 +03:00
themes/starfield Starfield theme. 2012-02-23 17:21:38 +01:00
unicode * unicode: Import Unicode 6.0 data. 2011-12-25 16:17:25 +01:00
util Use ssize_t for grub_util_fd_read result 2014-11-28 21:43:07 +03:00
.gitignore .gitignore: add missing files and .exe variants. 2014-01-29 13:27:37 -02:00
ABOUT-NLS automake commit without merge history 2010-05-06 11:34:04 +05:30
acinclude.m4 fix removal of {cpu,machine} links on mingw/msys 2014-01-18 22:48:04 +04:00
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
autogen.sh Generate Makefile.*.am directly from gentpl.py, eliminating the use of Autogen. The Autogen definitions files remain intact as they offer a useful abstraction. 2013-11-26 17:13:01 +00:00
BUGS * BUGS: New file. 2011-01-11 00:06:01 +01:00
ChangeLog fix memory corruption in pubkey filter over network 2014-12-05 21:17:08 +03:00
config.h.in Remove leftover options defines. 2013-12-23 18:17:02 +01:00
configure.ac Fix in-tree --platform=none 2014-09-25 20:59:26 +01:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
coreboot.cfg * coreboot.cfg: Add missing file. 2013-11-20 00:52:23 +01:00
geninit.sh automake commit without merge history 2010-05-06 11:34:04 +05:30
gentpl.py Remove xen VFB. 2013-12-18 18:43:09 +01:00
INSTALL reintroduce BUILD_LDFLAGS for the cross-compile case 2014-01-18 19:50:54 +04:00
linguas.sh * linguas.sh: Remove autogenerated *.po. 2012-04-07 19:44:50 +02:00
Makefile.am Add a new "none" platform that only builds utilities 2014-09-23 12:06:30 +01:00
Makefile.util.def add file filters tests 2014-12-05 21:04:06 +03:00
NEWS * NEWS: Add few missing entries. 2014-01-18 16:31:10 +01:00
README * README: Point to the Info manual. 2010-07-13 12:20:32 +01:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO 2008-01-07 Robert Millan <rmh@aybabtu.com> 2008-01-07 19:21:34 +00:00

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

More extensive documentation is available in the Info manual,
accessible using 'info grub' after building and installing GRUB 2.
Please look at the GRUB Wiki <http://grub.enbug.org> for testing
procedures.

There are a number of important user-visible differences from the
first version of GRUB, now known as GRUB Legacy. For a summary, please
see:

  info grub Introduction 'Changes from GRUB Legacy'