diff --git a/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch b/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch index a47f4e2..ecb6462 100644 --- a/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch +++ b/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch @@ -1,49 +1,43 @@ -From a60b4ae108d7853f604e2d75147f6175ba908dfd Mon Sep 17 00:00:00 2001 +From 5dce07818a2f2c6ebde399f58702fe5beecb2eed Mon Sep 17 00:00:00 2001 From: Julian Wolf -Date: Fri, 13 Jun 2014 14:24:36 +0200 +Date: Fri, 18 Jul 2014 14:05:05 +0200 Subject: [PATCH] Fixed segfault when no node could be found in sysfs bnc#872922 --- - distance.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) + distance.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/distance.c b/distance.c -index 4a26972..84affa3 100755 +index 4a26972..5db7fe2 100755 --- a/distance.c +++ b/distance.c -@@ -57,6 +57,7 @@ static int read_distance_table(void) - int maxnode = numa_max_node() + 1; +@@ -58,19 +58,16 @@ static int read_distance_table(void) int *table = NULL; int err = -1; -+ int cnt = 0; - for (nd = 0;; nd++) { +- for (nd = 0;; nd++) { ++ for (nd = 0; nd < maxnode; nd++) { char fn[100]; -@@ -70,6 +71,8 @@ static int read_distance_table(void) - continue; - else - break; -+ }else { -+ cnt++; - } + FILE *dfh; + sprintf(fn, "/sys/devices/system/node/node%d/distance", nd); + dfh = fopen(fn, "r"); +- if (!dfh) { +- if (errno == ENOENT) +- err = 0; +- if (!err && nd