When this interface was normalized/standardized, under
the commit referenced below, the parameters were never
validated in the 'get' function. Let's plug that hole.
Reference(s):
commit
407f1b71de3c4baed23d897b86ad316b64ad1ec9
Signed-off-by: Jim Warner <james.warner@comcast.net>
*
* warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'enum meminfo_item *'
* my_stack = procps_meminfo_select(info, PROCPS_MEMINFO_noop, num);
- * ^~~~~~~~~~~~~~~~
+ * ^~~~~~~~~~~~~~~~
*/
if (numitems < 1
|| (void *)items < (void *)(unsigned long)(2 * PROCPS_MEMINFO_logical_end))
time_t cur_secs;
int rc;
+ if (info == NULL)
+ return -EINVAL;
+ if (item < 0 || item >= PROCPS_MEMINFO_logical_end)
+ return -EINVAL;
+
/* we will NOT read the meminfo file with every call - rather, we'll offer
a granularity of 1 second between reads ... */
cur_secs = time(NULL);