btrfs-progs: check sscanf return code
authorZach Brown <zab@zabbo.net>
Wed, 15 Oct 2014 23:14:18 +0000 (16:14 -0700)
committerDavid Sterba <dsterba@suse.cz>
Thu, 16 Oct 2014 11:38:26 +0000 (13:38 +0200)
coverity warned that the return code from sscanf() assigned to 'i'
wasn't checked before being assigned again.  Check it.

Signed-off-by: Zach Brown <zab@zabbo.net>
Signed-off-by: David Sterba <dsterba@suse.cz>
utils.c

diff --git a/utils.c b/utils.c
index b65eef7..5a72f19 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -1579,7 +1579,12 @@ scan_again:
 
        strcpy(fullpath,"/dev/");
        while(fgets(buf, 1023, proc_partitions)) {
-               i = sscanf(buf," %*d %*d %*d %99s", fullpath+5);
+               ret = sscanf(buf," %*d %*d %*d %99s", fullpath + 5);
+               if (ret != 1) {
+                       fprintf(stderr,
+                               "failed to scan device name from /proc/partitions\n");
+                       break;
+               }
 
                /*
                 * multipath and MD devices may register as a btrfs filesystem