SHA256
1
0
forked from pool/systemd
systemd/0001-core-fix-invalid-free-in-killall.patch
Stephan Kulow 9fc3254595 Accepting request 238853 from Base:System
- Update of patch 0001-detect-s390-virt.patch (bnc#880438)

- Shut up stupid check scripts crying for not mentioned systemd-mini-rpmlintrc

- Add upstream patchs
  0001-core-use-correct-format-string-for-UIDs.patch
  0002-core-transaction-fix-cycle-break-attempts-outside-tr.patch
  0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch

- Add upstream patch
  0001-units-order-network-online.target-after-network.targ.patch
  to make sure that etwork-online.target follows network.target 

- rules: re-enable dev_id conditionally in persistent rules
  (bnc#884403 and bnc#882714).
  Add 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch 

- Add upstream patches
  0001-vconsole-also-copy-character-maps-not-just-fonts-fro.patch
  0002-core-make-sure-Environment-fields-passed-in-for-tran.patch
  0003-core-You-can-not-put-the-cached-result-of-use_smack-.patch
  0004-cryptsetup-don-t-add-unit-dependency-on-dev-null-dev.patch
  0005-man-fix-path-in-crypttab-5.patch

- Add upstream patch
  1039-udevadm-settle-fixed-return-code-for-empty-queue.patch it
  fixes udevadm settle exit code which may had roken dracut scripts
  (bnc#884271 comment#18)

- Temporary disable patch 1022 (bnc#884271 and bnc#882714).

OBS-URL: https://build.opensuse.org/request/show/238853
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=190
2014-06-30 19:43:27 +00:00

33 lines
1.2 KiB
Diff

From 3e09eb5c83e56bc0184bd9d9c44f76047464f77c Mon Sep 17 00:00:00 2001
From: Andreas Henriksson <andreas@fatal.se>
Date: Fri, 13 Jun 2014 18:48:19 +0200
Subject: [PATCH] core: fix invalid free() in killall()
static int killall(....) in ./src/core/killall.c tries to get "s"
initialized by calling get_process_comm(...) which calls
read_one_line_file(...) which if it fails will mean it is left
uninitialized.
It is then used in argument to strna(s) call where it is
dereferenced(!), in addition to nothing else initializing it before
the scope it is in finishes.
---
src/core/killall.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git src/core/killall.c src/core/killall.c
index 57ed41c..eab48f7 100644
--- src/core/killall.c
+++ src/core/killall.c
@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
continue;
if (sig == SIGKILL) {
- _cleanup_free_ char *s;
+ _cleanup_free_ char *s = NULL;
get_process_comm(pid, &s);
log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
--
1.7.9.2