BUG/MINOR: config: fix bind line thread mask validation
When no nbproc is specified, a computation leads to reading bind_thread[-1]
before checking if the thread mask is valid for a bind conf. It may either
report a false warning and compute a wrong mask, or miss some incorrect
configs.
This must be backported to 1.9 and possibly 1.8.
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 5c292f8..40a21e7 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -2288,9 +2288,9 @@
/* detect and address thread affinity inconsistencies */
nbproc = 0;
if (bind_conf->bind_proc)
- nbproc = my_ffsl(bind_conf->bind_proc);
+ nbproc = my_ffsl(bind_conf->bind_proc) - 1;
- mask = bind_conf->bind_thread[nbproc - 1];
+ mask = bind_conf->bind_thread[nbproc];
if (mask && !(mask & all_threads_mask)) {
unsigned long new_mask = 0;