From 614f026c29b712c3a492b5cc82e48814d1609a99 Mon Sep 17 00:00:00 2001 From: Andrew Bays Date: Wed, 13 Dec 2017 12:50:13 -0500 Subject: [PATCH] check fscanf return value in process_check --- src/procevent.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/procevent.c b/src/procevent.c index e4f473be..e05fa0c8 100644 --- a/src/procevent.c +++ b/src/procevent.c @@ -103,7 +103,7 @@ static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); // Does /proc//comm contain a process name we are interested in? static processlist_t *process_check(int pid) { - int len, is_match, status; + int len, is_match, status, retval; char file[BUFSIZE]; FILE *fh; char buffer[BUFSIZE]; @@ -122,7 +122,13 @@ static processlist_t *process_check(int pid) { return NULL; } - fscanf(fh, "%[^\n]", buffer); + retval = fscanf(fh, "%[^\n]", buffer); + + if (retval < 0) { + WARNING("procevent process_check: unable to read comm file for pid %d", + pid); + return NULL; + } // // Go through the processlist linked list and look for the process name -- 2.11.0