mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-05-28 03:51:53 +02:00
Merge branch 'master' into core-updates
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
Reference in New Issue
Block a user