diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-10-21 18:06:02 +0200 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-10-21 18:06:02 +0200 |
commit | ffddb42d6c510456997ee6de1c1b8026c9ce6d14 (patch) | |
tree | 5be4a965bb14f3de4af9f733f802b80840aff84c /gnu/packages/patches | |
parent | e381ae317c054a8ac52037c3f0df72ca3c96b91f (diff) | |
parent | 3a69b59332f02805fde2aee22b8f622c651f7007 (diff) | |
download | guix-ffddb42d6c510456997ee6de1c1b8026c9ce6d14.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches')
4 files changed, 109 insertions, 67 deletions
diff --git a/gnu/packages/patches/grub-check-error-efibootmgr.patch b/gnu/packages/patches/grub-check-error-efibootmgr.patch index b2fd160c9a..efeb20f213 100644 --- a/gnu/packages/patches/grub-check-error-efibootmgr.patch +++ b/gnu/packages/patches/grub-check-error-efibootmgr.patch @@ -160,7 +160,7 @@ index 5e4cdfd..690f180 100644 /* Try to make this image bootable using the EFI Boot Manager, if available. */ if (!efi_distributor || efi_distributor[0] == '\0') -@@ -1887,8 +1892,11 @@ main (int argc, char *argv[]) +@@ -1887,7 +1892,10 @@ main (int argc, char *argv[]) efidir_grub_dev->disk->name, (part ? ",": ""), (part ? : "")); grub_free (part); @@ -173,4 +173,25 @@ index 5e4cdfd..690f180 100644 + strerror (ret)); } break; + + +Below is a followup to the patch above: the uninitialized variable could lead +‘grub-install’ to error out when it shouldn’t (seen on an AArch64 box where +‘grub_install_remove_efi_entries_by_distributor’ didn't have any entry to +remove): + + grub-install: error: efibootmgr failed to register the boot entry: Unknown error 65535. + +See <http://lists.gnu.org/archive/html/bug-grub/2018-10/msg00006.html>. + +--- grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:53.015284846 +0200 ++++ grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:55.595271222 +0200 +@@ -85,7 +85,7 @@ grub_install_remove_efi_entries_by_distr + pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd); + char *line = NULL; + size_t len = 0; +- int rc; ++ int rc = 0; + if (!pid) + { diff --git a/gnu/packages/patches/libgxps-CVE-2017-11590.patch b/gnu/packages/patches/libgxps-CVE-2017-11590.patch deleted file mode 100644 index 9caa79b6f0..0000000000 --- a/gnu/packages/patches/libgxps-CVE-2017-11590.patch +++ /dev/null @@ -1,48 +0,0 @@ -Fix CVE-2017-11590: - -https://bugzilla.gnome.org/show_bug.cgi?id=785479 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11590 - -Patch copied from upstream source repository: - -https://git.gnome.org/browse/libgxps/commit/?id=9d5d292055250ed298f3b89dc332d6db4003a031 - -From 9d5d292055250ed298f3b89dc332d6db4003a031 Mon Sep 17 00:00:00 2001 -From: Marek Kasik <mkasik@redhat.com> -Date: Wed, 26 Jul 2017 16:23:37 +0200 -Subject: archive: Check for pathname being NULL before dereferencing - -Check whether "archive_entry_pathname ()" returns a non-NULL pathname -before using it to avoid a NULL pointer being dereferenced. - -https://bugzilla.gnome.org/show_bug.cgi?id=785479 ---- - libgxps/gxps-archive.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libgxps/gxps-archive.c b/libgxps/gxps-archive.c -index acf8d7d..e763773 100644 ---- a/libgxps/gxps-archive.c -+++ b/libgxps/gxps-archive.c -@@ -257,6 +257,7 @@ gxps_archive_initable_init (GInitable *initable, - GXPSArchive *archive; - ZipArchive *zip; - struct archive_entry *entry; -+ const gchar *pathname; - - archive = GXPS_ARCHIVE (initable); - -@@ -281,7 +282,9 @@ gxps_archive_initable_init (GInitable *initable, - - while (gxps_zip_archive_iter_next (zip, &entry)) { - /* FIXME: We can ignore directories here */ -- g_hash_table_add (archive->entries, g_strdup (archive_entry_pathname (entry))); -+ pathname = archive_entry_pathname (entry); -+ if (pathname != NULL) -+ g_hash_table_add (archive->entries, g_strdup (pathname)); - archive_read_data_skip (zip->archive); - } - --- -cgit v0.12 - diff --git a/gnu/packages/patches/libssh-hostname-parser-bug.patch b/gnu/packages/patches/libssh-hostname-parser-bug.patch index 69f46cbdd6..de2336e86d 100644 --- a/gnu/packages/patches/libssh-hostname-parser-bug.patch +++ b/gnu/packages/patches/libssh-hostname-parser-bug.patch @@ -1,31 +1,17 @@ -Fix "Hostname" parsing in OpenSSH config files, as reported -at <https://red.libssh.org/issues/260>. - -From: Niels Ole Salscheider <niels_ole@salscheider-online.de> -Date: Mon, 8 May 2017 17:36:13 +0200 -Subject: [PATCH] Fix reading of the first parameter - -This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7. -Previously, it would return as long as the parameter was _not_ seen -before. It also did not handle the case for the unsupported opcode (-1) +It does not handle the case for the unsupported opcode (-1) which would cause a segfault when accessing the "seen" array. ---- - src/config.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/config.c b/src/config.c -index 7c03b27..238a655 100644 +index c5313ec8..72e07639 100644 --- a/src/config.c +++ b/src/config.c -@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line, +@@ -218,7 +218,8 @@ static int ssh_config_parse_line(ssh_session session, const char *line, } opcode = ssh_config_get_opcode(keyword); - if (*parsing == 1 && opcode != SOC_HOST) { -- if (seen[opcode] == 0) { + if (*parsing == 1 && opcode != SOC_HOST && + opcode > SOC_UNSUPPORTED && opcode < SOC_END) { -+ if (seen[opcode] == 1) { + if (seen[opcode] != 0) { return 0; } - seen[opcode] = 1; diff --git a/gnu/packages/patches/soundconverter-remove-gconf-dependency.patch b/gnu/packages/patches/soundconverter-remove-gconf-dependency.patch new file mode 100644 index 0000000000..f065b9a3d4 --- /dev/null +++ b/gnu/packages/patches/soundconverter-remove-gconf-dependency.patch @@ -0,0 +1,83 @@ +From: Sebastian Ramacher <sebastian@ramacher.at> +Date: Fri, 6 Apr 2018 13:25:35 +0200 +Subject: Only fetch profiles if GConf is still available + +--- + bin/soundconverter.py | 1 - + soundconverter/gstreamer.py | 44 ++++++++++++++++++++++++-------------------- + 2 files changed, 24 insertions(+), 21 deletions(-) + +diff --git a/bin/soundconverter.py b/bin/soundconverter.py +index 39055ce..5198443 100644 +--- a/bin/soundconverter.py ++++ b/bin/soundconverter.py +@@ -66,7 +66,6 @@ def _check_libs(): + import gi + gi.require_version('Gst', '1.0') + gi.require_version('Gtk', '3.0') +- gi.require_version('GConf', '2.0') + from gi.repository import GObject + # force GIL creation - see https://bugzilla.gnome.org/show_bug.cgi?id=710447 + import threading +diff --git a/soundconverter/gstreamer.py b/soundconverter/gstreamer.py +index 23aaa9b..211b052 100644 +--- a/soundconverter/gstreamer.py ++++ b/soundconverter/gstreamer.py +@@ -25,7 +25,7 @@ from urllib.parse import urlparse + from gettext import gettext as _ + + import gi +-from gi.repository import Gst, Gtk, GObject, GConf, Gio ++from gi.repository import Gst, Gtk, GObject, Gio + + from soundconverter.fileoperations import vfs_encode_filename, file_encode_filename + from soundconverter.fileoperations import unquote_filename, vfs_makedirs, vfs_unlink +@@ -66,25 +66,29 @@ _GCONF_PROFILE_LIST_PATH = "/system/gstreamer/1.0/audio/global/profile_list" + audio_profiles_list = [] + audio_profiles_dict = {} + +-_GCONF = GConf.Client.get_default() +-profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH) +-for name in profiles: +- if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"): +- # get profile +- description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name") +- extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension") +- pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline") +- # check profile validity +- if not extension or not pipeline: +- continue +- if not description: +- description = extension +- if description in audio_profiles_dict: +- continue +- # store +- profile = description, extension, pipeline +- audio_profiles_list.append(profile) +- audio_profiles_dict[description] = profile ++try: ++ from gi.repository import GConf ++ _GCONF = GConf.Client.get_default() ++ profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH) ++ for name in profiles: ++ if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"): ++ # get profile ++ description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name") ++ extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension") ++ pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline") ++ # check profile validity ++ if not extension or not pipeline: ++ continue ++ if not description: ++ description = extension ++ if description in audio_profiles_dict: ++ continue ++ # store ++ profile = description, extension, pipeline ++ audio_profiles_list.append(profile) ++ audio_profiles_dict[description] = profile ++except ImportError: ++ pass + + required_elements = ('decodebin', 'fakesink', 'audioconvert', 'typefind', 'audiorate') + for element in required_elements: |