36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
|
From a0551d26ab5c6e0d5089b42a6319baef0e28ad92 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||
|
Date: Mon, 14 Oct 2013 19:15:24 -0400
|
||
|
Subject: [PATCH] Fix bad assert in show_pid_array
|
||
|
|
||
|
This function should get the same treatment as other qsort uses
|
||
|
did in 7ff7394 "Never call qsort on potentially NULL arrays".
|
||
|
|
||
|
Reported-by: Oleksii Shevchuk <alxchk@gmail.com>
|
||
|
---
|
||
|
src/shared/cgroup-show.c | 4 +---
|
||
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||
|
|
||
|
Index: systemd-208/src/shared/cgroup-show.c
|
||
|
===================================================================
|
||
|
--- systemd-208.orig/src/shared/cgroup-show.c
|
||
|
+++ systemd-208/src/shared/cgroup-show.c
|
||
|
@@ -44,8 +44,6 @@ static void show_pid_array(int pids[], u
|
||
|
unsigned i, m, pid_width;
|
||
|
pid_t biggest = 0;
|
||
|
|
||
|
- assert(n_pids > 0);
|
||
|
-
|
||
|
/* Filter duplicates */
|
||
|
m = 0;
|
||
|
for (i = 0; i < n_pids; i++) {
|
||
|
@@ -65,7 +63,7 @@ static void show_pid_array(int pids[], u
|
||
|
pid_width = DECIMAL_STR_WIDTH(biggest);
|
||
|
|
||
|
/* And sort */
|
||
|
- qsort(pids, n_pids, sizeof(pid_t), compare);
|
||
|
+ qsort_safe(pids, n_pids, sizeof(pid_t), compare);
|
||
|
|
||
|
if(flags & OUTPUT_FULL_WIDTH)
|
||
|
n_columns = 0;
|