forked from pool/systemd
d24108b9c9
- Add several upstream bugfix patches which are missed: * 0018-core-do-not-add-what-to-RequiresMountsFor-for-networ.patch * 0026-udevadm.xml-document-resolve-names-option-for-test.patch * 0030-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch * 0032-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch * 0031-man-document-the-b-special-boot-option.patch * 0033-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch * 0034-systemd-python-fix-booted-and-add-two-functions-to-d.patch * 0035-activate-mention-E-in-the-help-text.patch * 0036-activate-fix-crash-when-s-is-passed.patch * 0037-tmpfiles-adjust-excludes-for-the-new-per-service-pri.patch * 0038-core-socket-fix-SO_REUSEPORT.patch * 0039-journal-when-appending-to-journal-file-allocate-larg.patch * 0040-journal-optimize-bisection-logic-a-bit-by-caching-th.patch * 0041-journal-fix-iteration-when-we-go-backwards-from-the-.patch * 0042-journal-allow-journal_file_copy_entry-to-work-on-non.patch * 0043-journal-simplify-pre-allocation-logic.patch * 0044-journald-mention-how-long-we-needed-to-flush-to-var-.patch * 0046-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch * 0047-docs-remove-unneeded-the-s-in-gudev-docs.patch * 0048-man-explicitly-say-when-multiple-units-can-be-specif.patch * 0049-systemd-treat-reload-failure-as-failure.patch - Add patch 0001-Don-t-snprintf-a-potentially-NULL-pointer.patch to avoid potential NULL pointer - Reorder patches to reflect udev/systemd usage - don't build bash-completions for bootstrap package - add more requires to this-is-only-for-build-envs to avoid problems in kiwi configs OBS-URL: https://build.opensuse.org/request/show/222383 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=176
35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
From 306e6650221d88b29831bcdcef94447afb65df5c Mon Sep 17 00:00:00 2001
|
|
From: Igor Zhbanov <i.zhbanov@samsung.com>
|
|
Date: Tue, 15 Oct 2013 14:35:13 +0400
|
|
Subject: [PATCH] Fix for SIGSEGV in systemd-bootchart on short-living
|
|
processes
|
|
|
|
The function svg_ps_bars() dereferencess NULL pointer in the line
|
|
endtime = ps->last->sampledata->sampletime;
|
|
because of partially initialized ps_struct (ps->last == NULL).
|
|
|
|
If some process terminates between scaning /proc directory in the log_sample()
|
|
function and reading additional information from /proc/PID/... files,
|
|
the files couldn't be read, the loop will be continued and partially
|
|
initialized structure returned.
|
|
---
|
|
src/bootchart/store.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git src/bootchart/store.c src/bootchart/store.c
|
|
index f8c97c2..7f86cfe 100644
|
|
--- src/bootchart/store.c
|
|
+++ src/bootchart/store.c
|
|
@@ -275,7 +275,7 @@ schedstat_next:
|
|
pscount++;
|
|
|
|
/* mark our first sample */
|
|
- ps->first = ps->sample;
|
|
+ ps->first = ps->last = ps->sample;
|
|
ps->sample->runtime = atoll(rt);
|
|
ps->sample->waittime = atoll(wt);
|
|
|
|
--
|
|
1.7.9.2
|
|
|