Hello community, here is the log from the commit of package grub checked in at Fri Nov 21 15:20:40 CET 2008. -------- --- arch/i386/grub/grub.changes 2008-11-06 18:01:15.000000000 +0100 +++ /mounts/work_src_done/STABLE/grub/grub.changes 2008-11-20 17:57:58.000000000 +0100 @@ -1,0 +2,5 @@ +Thu Nov 20 17:57:14 CET 2008 - duwe@suse.de + +- fix serious bug in "setup" command string handling + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- string-ops-fix ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub.spec ++++++ --- /var/tmp/diff_new_pack.G21717/_old 2008-11-21 15:19:48.000000000 +0100 +++ /var/tmp/diff_new_pack.G21717/_new 2008-11-21 15:19:48.000000000 +0100 @@ -26,7 +26,7 @@ License: GPL v2 or later Group: System/Boot Version: 0.97 -Release: 154 +Release: 155 Source0: %{name}-%{version}.tar.gz Source1: installgrub Source2: grubonce @@ -62,6 +62,7 @@ Patch28: ext4-support Patch29: grub-acinclude-buildid-fix.diff Patch30: remove-buildid.diff +Patch31: string-ops-fix Url: http://www.gnu.org/software/grub/grub.en.html BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: Grand Unified Boot Loader @@ -131,6 +132,7 @@ %patch28 -p1 %patch29 -p1 %patch30 +%patch31 -p1 %build perl -pi -e 's,/usr/share/grub/i386-pc,/usr/lib/grub,' docs/grub.texi @@ -228,6 +230,8 @@ exit 0 %changelog +* Thu Nov 20 2008 duwe@suse.de +- fix serious bug in "setup" command string handling * Thu Nov 06 2008 duwe@suse.de - recognise GPTs (bnc#386800 et.al.) - neither show nor count commented entries in grubonce (bnc#438236) ++++++ string-ops-fix ++++++ --- grub-0.97/stage2/builtins.c.orig 2008-11-20 17:46:28.000000000 +0100 +++ grub-0.97/stage2/builtins.c 2008-11-20 17:48:58.000000000 +0100 @@ -3862,7 +3862,8 @@ setup_func (char *arg, int flags) char config_filename[64]; char real_config_filename[64]; char cmd_arg[256]; - char device[16]; +#define DEVNAMLEN 16 + char device[DEVNAMLEN]; char *buffer = (char *) RAW_ADDR (0x100000); int is_force_lba = 0; char *stage2_arg = 0; @@ -3900,15 +3901,15 @@ setup_func (char *arg, int flags) { char tmp[16]; grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF); - grub_strncat (device, tmp, 256); + grub_strncat (device, tmp, DEVNAMLEN); } if ((partition & 0x00FF00) != 0x00FF00) { char tmp[16]; grub_sprintf (tmp, ",%c", 'a' + ((partition >> 8) & 0xFF)); - grub_strncat (device, tmp, 256); + grub_strncat (device, tmp, DEVNAMLEN); } - grub_strncat (device, ")", 256); + grub_strncat (device, ")", DEVNAMLEN); } int embed_stage1_5 (char *stage1_5, int drive, int partition) @@ -4125,6 +4126,7 @@ setup_func (char *arg, int flags) config_filename, real_config_filename); #endif /* NOT USED */ +#undef DEVNAMLEN /* Notify what will be run. */ grub_printf (" Running \"install %s\"... ", cmd_arg); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org