From 8988ff3414e8588c21ce321626a8055db80180ac Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Tue, 24 Jun 2014 17:44:20 +0200 Subject: [PATCH] Cherry-pick upstream fixes to make sd_session_get_vt() actually work. --- debian/changelog | 1 + ...ix-invalid-free-in-sd_session_get_vt.patch | 23 +++++++++++++++++++ ...make-sd_session_get_vt-actually-work.patch | 23 +++++++++++++++++++ debian/patches/series | 2 ++ 4 files changed, 49 insertions(+) create mode 100644 debian/patches/login-fix-invalid-free-in-sd_session_get_vt.patch create mode 100644 debian/patches/login-make-sd_session_get_vt-actually-work.patch diff --git a/debian/changelog b/debian/changelog index 5fc3f4d04..66b42bc19 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,7 @@ systemd (208-2) UNRELEASED; urgency=medium [ Michael Biebl ] * Merge changes from unstable branch. + * Cherry-pick upstream fixes to make sd_session_get_vt() actually work. -- Sjoerd Simons Tue, 29 Apr 2014 08:51:39 +0200 diff --git a/debian/patches/login-fix-invalid-free-in-sd_session_get_vt.patch b/debian/patches/login-fix-invalid-free-in-sd_session_get_vt.patch new file mode 100644 index 000000000..cca4615f5 --- /dev/null +++ b/debian/patches/login-fix-invalid-free-in-sd_session_get_vt.patch @@ -0,0 +1,23 @@ +From: David Herrmann +Date: Thu, 10 Oct 2013 13:09:37 +0200 +Subject: login: fix invalid free() in sd_session_get_vt() + +We need to clear variables markes as _cleanup_free_. Otherwise, our +error-paths might corrupt random memory. +--- + src/login/sd-login.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/login/sd-login.c b/src/login/sd-login.c +index 9bfe43c..7e25041 100644 +--- a/src/login/sd-login.c ++++ b/src/login/sd-login.c +@@ -350,7 +350,7 @@ _public_ int sd_session_get_tty(const char *session, char **tty) { + } + + _public_ int sd_session_get_vt(const char *session, unsigned *vtnr) { +- _cleanup_free_ char *vtnr_string; ++ _cleanup_free_ char *vtnr_string = NULL; + unsigned u; + int r; + diff --git a/debian/patches/login-make-sd_session_get_vt-actually-work.patch b/debian/patches/login-make-sd_session_get_vt-actually-work.patch new file mode 100644 index 000000000..8271e2aa6 --- /dev/null +++ b/debian/patches/login-make-sd_session_get_vt-actually-work.patch @@ -0,0 +1,23 @@ +From: David Herrmann +Date: Thu, 10 Oct 2013 13:11:27 +0200 +Subject: login: make sd_session_get_vt() actually work + +We use VTNR, not VTNr as key. Until now sd_session_get_vt() just returns +an error. +--- + src/login/sd-login.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/login/sd-login.c b/src/login/sd-login.c +index 71d8c29..9bfe43c 100644 +--- a/src/login/sd-login.c ++++ b/src/login/sd-login.c +@@ -354,7 +354,7 @@ _public_ int sd_session_get_vt(const char *session, unsigned *vtnr) { + unsigned u; + int r; + +- r = session_get_string(session, "VTNr", &vtnr_string); ++ r = session_get_string(session, "VTNR", &vtnr_string); + if (r < 0) + return r; + diff --git a/debian/patches/series b/debian/patches/series index 24bfa6b5b..8ae35cd85 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -44,3 +44,5 @@ Check-for-kmod-binary.patch Adjust-systemd-user-pam-config-file-for-Debian.patch login-Don-t-stop-a-running-user-manager-from-garbage.patch Add-run-initctl-support-to-SysV-compat-tools.patch +login-make-sd_session_get_vt-actually-work.patch +login-fix-invalid-free-in-sd_session_get_vt.patch -- 2.39.5