The current kernel generates 71 possible header fields, but
MAX_FIELDS in lnstat is only 64. This leads to referencing outside
of the array. To fix, increase size of array and chop off parsing
at MAX_FIELDS - 1.
*/
/* Maximum number of fields that can be displayed */
-#define MAX_FIELDS 64
+#define MAX_FIELDS 128
/* Maximum number of header lines */
#define HDR_LINES 10
if (!fps->params[j].print.width)
fps->params[j].print.width =
FIELD_WIDTH_DEFAULT;
- j++;
+
+ if (++j >= MAX_FIELDS - 1)
+ goto full;
}
}
+ full:
fps->num = j;
return 1;
}