eal/linux: check fscanf return when parsing modules list
authorTomasz Kulasek <tomaszx.kulasek@intel.com>
Fri, 16 Jan 2015 14:27:52 +0000 (15:27 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 16 Jan 2015 16:35:40 +0000 (17:35 +0100)
The lack of result checking of fscanf function, breaks compilation
for default "-Werror=unused-result" flag.

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
lib/librte_eal/linuxapp/eal/eal.c

index 648ef81..f99e158 100644 (file)
@@ -865,6 +865,7 @@ rte_eal_check_module(const char *module_name)
 {
        char mod_name[30]; /* Any module names can be longer than 30 bytes? */
        int ret = 0;
+       int n;
 
        if (NULL == module_name)
                return -1;
@@ -876,8 +877,8 @@ rte_eal_check_module(const char *module_name)
                return -1;
        }
        while (!feof(fd)) {
-               fscanf(fd, "%29s %*[^\n]", mod_name);
-               if (!strcmp(mod_name, module_name)) {
+               n = fscanf(fd, "%29s %*[^\n]", mod_name);
+               if ((n == 1) && !strcmp(mod_name, module_name)) {
                        ret = 1;
                        break;
                }