Fix buffer problem with printing long Hwloc affinity mask
authorJonathan Peyton <jonathan.l.peyton@intel.com>
Mon, 25 Apr 2016 21:08:31 +0000 (21:08 +0000)
committerJonathan Peyton <jonathan.l.peyton@intel.com>
Mon, 25 Apr 2016 21:08:31 +0000 (21:08 +0000)
This change has the hwloc_bitmap_list_snprintf() function use the entire buffer
to print the mask.  There is no need to shorten the buffer length by 7.  It only
needs to be shortened by one byte.

llvm-svn: 267470

openmp/runtime/src/kmp_affinity.cpp

index 0dc6f73..68afb52 100644 (file)
@@ -77,7 +77,7 @@ __kmp_affinity_print_mask(char *buf, int buf_len, kmp_affin_mask_t *mask)
         // Need to truncate the affinity mask string and add ellipsis.
         // To do this, we first write out the '{' + str(mask)
         buf[0] = '{';
-        hwloc_bitmap_list_snprintf(buf+1, buf_len-7, (hwloc_bitmap_t)mask);
+        hwloc_bitmap_list_snprintf(buf+1, buf_len-1, (hwloc_bitmap_t)mask);
         // then, what we do here is go to the 7th to last character, then go backwards until we are NOT
         // on a digit then write "...}\0".  This way it is a clean ellipsis addition and we don't
         // overwrite part of an affinity number. i.e., we avoid something like { 45, 67, 8...} and get