Hello community, here is the log from the commit of package shim for openSUSE:Factory checked in at 2013-03-05 13:08:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/shim (Old) and /work/SRC/openSUSE:Factory/.shim.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shim", Maintainer is "g...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/shim/shim.changes 2013-03-01 10:55:10.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.shim.new/shim.changes 2013-03-05 13:08:10.000000000 +0100 @@ -1,0 +2,6 @@ +Fri Mar 1 10:07:55 UTC 2013 - g...@suse.com + +- Add shim-bnc798043-no-doulbe-separators.patch to remove double + seperators from the bootpath (bnc#798043#c4) + +------------------------------------------------------------------- New: ---- shim-bnc798043-no-doulbe-separators.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ shim.spec ++++++ --- /var/tmp/diff_new_pack.SjAEj6/_old 2013-03-05 13:08:12.000000000 +0100 +++ /var/tmp/diff_new_pack.SjAEj6/_new 2013-03-05 13:08:12.000000000 +0100 @@ -55,6 +55,8 @@ Patch10: shim-keep-unsigned-mokmanager.patch # PATCH-FIX-UPSTREAM shim-bnc804631-fix-broken-bootpath.patch bnc#804631 g...@suse.com -- Fix the broken bootpath generated in generate_path() Patch11: shim-bnc804631-fix-broken-bootpath.patch +# PATCH-FIX-UPSTREAM shim-bnc798043-no-doulbe-separators.patch bnc#798043 g...@suse.com -- Remove all double-separators from the bootpath +Patch12: shim-bnc798043-no-doulbe-separators.patch BuildRequires: gnu-efi >= 3.0q BuildRequires: mozilla-nss-tools BuildRequires: openssl >= 0.9.8 @@ -87,6 +89,7 @@ %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 %build chmod +x "make-certs" ++++++ shim-bnc798043-no-doulbe-separators.patch ++++++ >From 5c736550e8f7645f39df6948785ab5cae2201418 Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin <g...@suse.com> Date: Fri, 1 Mar 2013 18:04:06 +0800 Subject: [PATCH] Remove double-separators from the bootpath --- shim.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/shim.c b/shim.c index 690d064..c36b641 100644 --- a/shim.c +++ b/shim.c @@ -907,7 +907,7 @@ static EFI_STATUS generate_path(EFI_LOADED_IMAGE *li, CHAR16 *ImagePath, { EFI_DEVICE_PATH *devpath; EFI_HANDLE device; - int i; + int i, j, last = -1; unsigned int pathlen = 0; EFI_STATUS efi_status = EFI_SUCCESS; CHAR16 *bootpath; @@ -927,14 +927,27 @@ static EFI_STATUS generate_path(EFI_LOADED_IMAGE *li, CHAR16 *ImagePath, if (bootpath[i] == '/') bootpath[i] = '\\'; } + for (i=pathlen; i>0; i--) { - if (bootpath[i] == '\\' && bootpath[i-1] != '\\') - break; + if (bootpath[i] == '\\' && bootpath[i-1] == '\\') + bootpath[i] = '/'; + else if (last == -1 && bootpath[i] == '\\') + last = i; + } + + if (last == -1 && bootpath[0] == '\\') + last = 0; + bootpath[last+1] = '\0'; + + if (last > 0) { + for (i = 0, j = 0; bootpath[i] != '\0'; i++) { + if (bootpath[i] != '/') { + bootpath[j] = bootpath[i]; + j++; + } + } + bootpath[j] = '\0'; } - if (bootpath[i] == '\\') - bootpath[i+1] = '\0'; - else - bootpath[0] = '\0'; while (*ImagePath == '\\') ImagePath++; -- 1.7.10.4 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org